簡體   English   中英

編寫一個 linux 腳本,將目錄作為參數,然后將該目錄中最長的條目打印為 output

[英]Write a linux script that takes a directory as an argument and then prints the longest entry in that directory as an output

我只想知道如何將目錄作為參數,然后將該目錄中最長的條目打印為 output。有什么想法嗎?

find "$1" -maxdepth 1 -type f | awk '{ fils[$0]=length($0) } END { PROCINFO["sorted_in"]="@val_num_asc";for ( i in fils ) { largfil=i } print largfil }'

通過管道查找到 awk,首先在給定目錄($1 表示傳遞的參數)中搜索文件,然后通過 awk,創建一個以文件名作為索引並以文件名長度作為值的數組 fils。 在結束塊中,相應地設置排序順序,然后遍歷數組,將變量 largfil 設置為數組中的文件名。 然后我們在循環結束時打印 largfil,表示具有最大字符大小的文件名。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM