0
我这样做,它会删除包括模式在内的所有内容。我希望它不会删除该模式。删除一切,但不包括模式
sed -i '' 's/.*Pattern//g' file
我想它这样做
Hello this is a Pattern
Pattern
由于
我这样做,它会删除包括模式在内的所有内容。我希望它不会删除该模式。删除一切,但不包括模式
sed -i '' 's/.*Pattern//g' file
我想它这样做
Hello this is a Pattern
Pattern
由于
典型的解决方案是
sed -i '' 's/.*\(Pattern\)/\1/' file
#--------------^^-------^^-^^
其中\(..\)
对是捕获基团,并且\1
指示“替换捕获组(1)中发现的内容”。你可以有多达9个捕获组(maye更多超现代seds)。
注意,你也可以做lazymans方法,并与你的目标模式替换完全吻合,即
sed -i '' 's/.*Pattern/Pattern/' file
编辑并感谢@Beta,从s/../../g
去除冗余g
。
IHTH
'g'的用途是什么?看起来多余。 – Beta