【问题标题】:How to get the files which have more than one lines in Shell scripting如何在Shell脚本中获取多行的文件
【发布时间】:2014-10-18 07:41:34
【问题描述】:

我需要获取应该包含多于 1 行的文件。

例如:file1.txt

756  H#001263  2869  1035  PUR  420200.00

756  H#001263  2866  1023  PUR  157500.00

file2.txt

756  S#001263  2869  7777  MCH  420200.00

file3.txt

(null file)

预期的输出(这应该只返回超过 1 行的文件)

file1.txt

【问题讨论】:

    标签: shell aix


    【解决方案1】:

    您可以使用这个 for 循环来确定:

    for i in *.txt; do [ $(wc -l < "$i") -gt 1 ] && echo "$i"; done
    

    【讨论】:

      【解决方案2】:

      这个怎么样?

      wc -l *.txt | awk '{if ($1 > 1) 打印}'

      wc 命令给出了一个关于总数的额外行,如果你不想要它,添加

      | sed -e '/总计/d'

      在最后。

      【讨论】:

        【解决方案3】:

        如果您知道只有 1 行的文件的最大大小,您可以使用 find 命令的 -size 选项,如下所示:

        find . -size +37c
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-02-06
          • 1970-01-01
          • 2016-07-25
          • 1970-01-01
          • 2011-06-26
          • 2013-08-04
          • 2014-02-24
          • 1970-01-01
          相关资源
          最近更新 更多