我收到查询,就好像给定模式存在于文件中,并且下一行以相同模式开始和结束,删除以给定模式开始和结束的行

输入就像:

abcd & abcd
& abcd &
abcd & abcd
& abcd
abcd abcd
& abcd &
abcd & abcd
abcd &
abcd & abcd
& abcd &"


输出为:

abcd & abcd
abcd & abcd
& abcd
abcd abcd
& abcd &
abcd & abcd
abcd &
abcd & abcd


我用sed命令作为

var=`sed -n "/$1/{n;p}" $2 | grep "^$1" | grep "$1$"`
sed -i "/^$var$/d" $2


但是该命令仅删除文件的第一个模式

最佳答案

塞德

sed '/^\& abcd \&$/d' YourFile


格列普

grep -v '^& abcd &$' YourFile

关于linux - 从文件内部删除模式条目,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30072637/

10-12 22:40