我希望sed命令删除一行中包含10个以上的数字且不以91开头
我的文件内容是这样的
919876543210
789876543210
9012345678
12345678901
9865746321
需要这样的输出。
919876543210
9012345678
9865746321
我尝试过awk' length> = 4' 1.txt | grep -v ^ 91
这将告诉我
789876543210
12345678901
答案 0 :(得分:1)
你能做什么:
/^91/!
{/.........../d}
总而言之:
sed '/^91/!{/.........../d}'
使用-E
可能会更优雅。
(我的sed是GNU sed版本4.2.1)
答案 1 :(得分:1)
使用awk简单,清晰,便携,高效等等:
$ awk '/^91/ || length()<11' file
919876543210
9012345678
9865746321