如何从文件中删除 0-9 个字符长的数字?

如何从文件中删除 0-9 个字符长的数字?

如何从文件中仅删除 0,1,2,3,4,5,6,7,8,9 个字符长的数字?我的意思是与该模式匹配的线条。

可移动线示例:

cat input.txt
1
123423113
8372
8472323

不应删除的行示例:

cat input.txt
1a
1245d45
8565438753
b39592
3827495Hx

答案1

使用sed

sed -i.bak -e '/^[0-9]\{1,9\}$/d' file

使用perl

perl -i.bak -nle 'print unless /^[0-9]{1,9}$/' file

答案2

perl -i.bak -nle 'print unless /^[0-9]{0,9}$/' file

您还要求删除零长度数字(即空行)。

相关内容