使用sed检查确保每行只有数字和逗号?

时间:2016-12-09 08:58:07

标签: bash sed

我有一个看起来像这样的文本文件:

0,16777215
16807368,16807368
621357328,621357328
621357403,621357403
1380962773,1380962773
1768589474,1768589474

有没有办法使用sed来确保每行只有数字和一个逗号?如果一行缺少逗号,包含字母,是空白,有空格等等 - 那么我想删除它。

2 个答案:

答案 0 :(得分:2)

使用sed

sed -nr '/^[0-9]+,[0-9]+$/p' File

就地编辑文件:

sed -nri '/^[0-9]+,[0-9]+$/p' File

便携式解决方案:

sed -nE '/^[0-9]+,[0-9]+$/p' File

答案 1 :(得分:0)

sed -e '/^[0-9]\+,[0-9]\+$/ !d' file

地址是正则表达式。如果该行与正则表达式不匹配,则应用d(删除)命令。 (感叹号(!)会反转条件。)