如何删除文本中的行?

如何删除文本中的行?

考虑一个具有以下形式的 text.txt 文件

25 1 4 5 2 19 38

21 0 8 8 7 7 61

<clus scale = "125"> 1 3 2</clus>

25 3 1.63 123 56 12 38

21 123 12.3 12.1 1.5 2.67 3.77

<clus scale = "227"> 5 6 2</clus>

如何使用终端仅保留数字(和空)行,即将文件转换为

25 1 4 5 2 19 38

21 0 8 8 7 7 61

25 3 1.63 123 56 12 38

21 123 12.3 12.1 1.5 2.67 3.77

答案1

使用grep

grep '^[0-9. ]*$' text.txt

或者也可以从匹配中排除空行,​​使用

grep -E '^[0-9. ]+$' text.txt

这将选择包含数字、点和空格的行。
您也可以反转模式,例如<使用以下方法排除行grep -v

grep -v "<" text.txt

相关内容