Sed 删除所有符合但不包括图案的内容
我这样做,它会删除所有内容,包括模式。我希望它不要删除该模式Sed 删除所有符合但不包括图案的内容,sed,Sed,我这样做,它会删除所有内容,包括模式。我希望它不要删除该模式 sed -i '' 's/.*Pattern//g' file 我希望它能做到这一点 Hello this is a Pattern Pattern 谢谢典型的解决方案是 sed -i '' 's/.*\(Pattern\)/\1/' file #--------------^^-------^^-^^ 其中,\(..\)对是一个捕获组,\1表示“替换为捕获组(1)中找到的内容”。您最多可以有9个捕获组(在超现代SED中可能会有
sed -i '' 's/.*Pattern//g' file
我希望它能做到这一点
Hello this is a Pattern
Pattern
谢谢典型的解决方案是
sed -i '' 's/.*\(Pattern\)/\1/' file
#--------------^^-------^^-^^
其中,\(..\)
对是一个捕获组,\1
表示“替换为捕获组(1)中找到的内容”。您最多可以有9个捕获组(在超现代SED中可能会有更多)
请注意,您也可以使用lazymans方法,并用您的目标模式替换完全匹配,即
sed -i '' 's/.*Pattern/Pattern/' file
编辑并且由于@Beta,从s/../g
中删除了冗余的g
IHTH典型的解决方案是
sed -i '' 's/.*\(Pattern\)/\1/' file
#--------------^^-------^^-^^
其中,\(..\)
对是一个捕获组,\1
表示“替换为捕获组(1)中找到的内容”。您最多可以有9个捕获组(在超现代SED中可能会有更多)
请注意,您也可以使用lazymans方法,并用您的目标模式替换完全匹配,即
sed -i '' 's/.*Pattern/Pattern/' file
编辑并且由于@Beta,从s/../g
中删除了冗余的g
IHTHg的目的是什么?这似乎是多余的。
g
的目的是什么?这似乎是多余的。