如何从文件中仅删除 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
您还要求删除零长度数字(即空行)。