我有成百上千行的文件,我需要删除一些遵循模式的行,所以我用regex访问了SED
A,12121212121212,foo,bar,lorem
C,32JL,JL
C,32JL,JL
C,32JL,JL
C,32JL,JL
A,21212121212121,foo,bar,lorem
C,32JL,JL
C,32JL,JL
C,32JL,JL
A,9999,88888,77777
我需要删除所有以“A”开头以“lorem”结尾的行
预期产量-
C,32JL,JL
C,32JL,JL
C,32JL,JL
C,32JL,JL
C,32JL,JL
C,32JL,JL
C,32JL,JL
A,9999,88888,77777
我做了正则表达式:
^(A).*(lorem)
它在我的文本编辑器中匹配(Sublime,UltraEdit)
在UNIX shell中
sed '/^(A).*(lorem)/d' file.txt
但不知怎么的,它不起作用,它显示了整个文件,我不明白为什么。
有人能帮我吗?
最佳答案
$ sed '/^A.*lorem$/d' file.txt
^A
:以A
开头.*
:中间的东西lorem$
:以lorem
结尾