计算文件列表中的最小行数

时间:2014-08-22 12:30:51

标签: bash

我想打印文件列表中行数最少的文件的计数。什么都没有打印出来。

这是代码

MINcount=$(for txtfile in /home/folder/*.txt;
      do
          LC=$(cat $txtfile | wc -l);
           min=0
          (($LC < min || min == 0)) && min=$LC
      done)
 echo $MINcount 

由于

2 个答案:

答案 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}'