令我惊讶的是,我找不到与该问题类似的问题。

如何使用sed删除不包含特定模式的所有行。

例如,我有这个文件:

cat kitty dog
giraffe panda
lion tiger

我想要一个sed命令,该命令在被调用时将删除所有不包含cat的行:
cat kitty dog

最佳答案

这样可以:

sed -i '/cat/!d' file1.txt

要强制完全匹配:
sed -i '/\<cat\>/!d' file1.txt

或者
sed -i '/\bcat\b/!d' file1.txt

其中\<\>\b\b强制完全匹配。

关于bash - sed-删除不包含模式的行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27734189/

10-16 20:20