我需要制作一个脚本,我需要整理出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