我想打印文件列表中行数最少的文件的计数。什么都没有打印出来。
这是代码
MINcount=$(for txtfile in /home/folder/*.txt;
do
LC=$(cat $txtfile | wc -l);
min=0
(($LC < min || min == 0)) && min=$LC
done)
echo $MINcount
由于
答案 0 :(得分:3)
您可以使用以下管道:
wc -l /home/folder/*.txt | sort -n | head -n1 | cut -f1
解释
wc -l /home/folder/*.txt | sort -n
将产生如下输出:
50 file2
94 file1
144 total
wc
在第一行打印总数,然后打印每个文件的行,按行数(sort -n
)排序。然后head -n1
将从输出中选择第一行,cut -f1
该行的第一列。
答案 1 :(得分:3)
尝试一下:
wc -l /home/folder/*.txt|sort -n|awk '{print $1;exit}'