小编Imk*_*kls的帖子

SED删除带有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
Run Code Online (Sandbox Code Playgroud)

我需要删除所有以" 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
Run Code Online (Sandbox Code Playgroud)

我做了正则表达式:

^(A).*(lorem)
Run Code Online (Sandbox Code Playgroud)

它在我的文本编辑器中匹配(Sublime,UltraEdit)

在UNIX shell中

sed '/^(A).*(lorem)/d' file.txt
Run Code Online (Sandbox Code Playgroud)

但不知怎的,它不起作用,它显示整个文件,我无法弄清楚为什么.

有谁可以帮助我吗?

regex unix bash sed

3
推荐指数
2
解决办法
6981
查看次数

标签 统计

bash ×1

regex ×1

sed ×1

unix ×1