#!/bin/bash #general
Remove this line
echo armada #dev
Remove me also #malfunction
我有一个像上面这样的文件。我只想保留带有 #general
和 #dev
的行。
我尝试了 sed -i '' '/#dev/!d' starter.sh
但这只会保留带有 #dev
我试过 sed -i '' '/#dev/!d;/#general/!d' starter.sh
但这会删除所有内容。
我想知道是否可以使用 sed 保留 #general
和 #dev
注意:我使用的是 Mac
最佳答案
你可以使用这个sed
:
sed -E '/#dev|#general/!d' file
#!/bin/bash #general
echo armada #dev
或者如果你想保留空白行,那么使用:
sed -E '/^[[:blank:]]*$|#(dev|general)/!d' file
关于linux - 使用 sed 删除文件中的行,但定义的多个模式除外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51608594/