编写一个linux脚本,将一个目录作为参数,然后打印该目录中最长的条目作为输出



我只想知道如何做到这一点,将一个目录作为参数,然后打印该目录中最长的条目作为输出。有什么想法吗?

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 }'

通过管道将find传递到awk,首先在给定的目录($1表示传递的参数(中搜索文件,然后通过awk创建一个以文件名和文件名长度为值的数组fils。在结束块中,相应地设置排序顺序,然后在数组中循环,将变量largfil设置为数组中的文件名。然后,我们在循环结束时打印largfil,表示具有最大字符大小的文件名。

相关内容

最新更新