【问题标题】:Finding lines without letters or numbers, only with commas, BASH查找没有字母或数字的行,只有逗号,BASH
【发布时间】:2014-08-07 04:37:50
【问题描述】:

祝大家今天好,

我想知道如何找到只有逗号的行的行号。唯一但是我不知道每行有多少commas

输入:

...
Total,Total,,,
,,,,
,,,,
Alemania,,1.00,,
...

提前感谢任何线索

【问题讨论】:

    标签: bash awk sed grep


    【解决方案1】:

    你可以用一个命令来做到这一点:

    egrep -n '^[,]+$' file
    

    将以行号为前缀。
    结果与您提供的四个测试线:

    2:,,,,
    3:,,,,
    

    现在,如果你只想要行号,你可以很容易地把它们剪掉:

    egrep -n '^[,]+$' file | cut -d: -f1
    

    【讨论】:

      【解决方案2】:

      sed

      sed -n '/^,\+$/=' file
      

      awk

      awk '/^,+$/&&$0=NR' file
      

      【讨论】:

      • perlperl -nE'say $. if /^,+$/' file:P
      【解决方案3】:

      使用 GNU sed:

      sed -nr '/^,+$/=' file
      

      输出:

      2
      3
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-23
        • 2012-06-19
        • 2016-12-03
        • 1970-01-01
        • 1970-01-01
        • 2020-11-09
        相关资源
        最近更新 更多