Cly*_*ber 4 regex perl awk sed
我有一个看起来像这样的文件:
bar
barfo
barfoo
barfooo
barfoooo
sample
sampleText1
sampleText2
sampleText3
prefix
prefixFooBar
prefixBarFoo
Run Code Online (Sandbox Code Playgroud)
我想要sed(或awk)做的是从其所有内容中删除引入节的字符串,以便我最终得到:
bar
fo
foo
fooo
foooo
sample
Text1
Text2
Text3
prefix
FooBar
BarFoo
Run Code Online (Sandbox Code Playgroud)
我试过用
sed -e -i '/([[:alpha:]]+)/,/^$/ s/\1//g' file
Run Code Online (Sandbox Code Playgroud)
但是,"无效的反向引用"失败了.
$ awk '{$0=substr($0,idx)} !idx{idx=length($0)+1} !NF{idx=0} 1' file
bar
fo
foo
fooo
foooo
sample
Text1
Text2
Text3
prefix
FooBar
BarFoo
Run Code Online (Sandbox Code Playgroud)