![](/img/trans.png)
[英]How to write a bash shell script which takes one argument (directory name)
[英]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.