我这样做会删除包括模式在内的所有内容。我希望它不会删除模式。
sed -i '' 's/.*Pattern//g' file
我希望这样做
Hello this is a Pattern
Pattern
由于
答案 0 :(得分:3)
典型的解决方案是
sed -i '' 's/.*\(Pattern\)/\1/' file
#--------------^^-------^^-^^
其中\(..\)
对是捕获组,\1
表示"替换为捕获组(1)"中的内容。您最多可以拥有9个捕获组(在超现代化的seds中可能更多)。
请注意,您也可以使用懒人方法并将目标模式替换为完全匹配,即
sed -i '' 's/.*Pattern/Pattern/' file
编辑感谢@Beta,从g
删除了多余的s/../../g
。
IHTH