如何使用 sed 或 awk 过滤文本

如何使用 sed 或 awk 过滤文本

我有一个巨大的单词列表文件。我想删除仅数字的行。

我可以使用sed其他东西来做到这一点吗?

输入:

Pass123
Dexg43
111116
246814
dancer@
Cody1234
Cody1234

预期输出:

Pass123
Dexg43
dancer@
Cody1234
Cody1234

我需要删除 11116 和 246814 的行,其余的都可以。

答案1

  • sed

    sed '/^[0-9][0-9]*$/d' file
    sed '/^[0-9]\+$/d' file       # with gnu sed
    
  • awk

    awk '$0!~/^[0-9]+$/' file
    
  • grep

    grep -v '^[0-9][0-9]*$' file
    grep -v '^[0-9]\+$' file      # with gnu extension
    
  • 珀尔

    perl -ne 'print if !/^[0-9]+$/' file
    

输出:

Pass123
Dexg43
dancer@
Cody1234
Cody1234

相关内容