bash脚本如何将行名最大的5个文件放在wc-l之外



我需要制作一个脚本,我需要整理出5个行数最多的文件名。这是我不知道该怎么做的部分。也许有人能帮我?

ls work | wc -l 

我的脚本,但不知怎么的,它仍然没有打印出行数最多的5个文件的名称

mkdir work 
cp /etc/*.conf . 
ls work | perl -e 'print sort { length($b) <=> length($a) } <>' | head -5
tar cf work.tar.gz work

您需要对ls的每一行输出执行wc命令,而不是对所有输出执行,因此使用xargs。然后,您可以用sort-n对输出进行排序,并从输出中删除总数,用tail-6/head-5 打印前5个条目

ls work | xargs wc -l | sort -n | tail -6 | head -5

相关内容

  • 没有找到相关文章

最新更新