繁体   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