使用sed命令如何删除a第二次出现的行的下两行
cat a.txt
a
b
c
a
1234
2234
d
e
只想删除 1234 和 2234 这两行, 只知道他俩在第二个 a 的下两行
这个问题直接用sed不好解决,可以先获取第2个a的行号,然后再用sed就好解决了,下面的一个思路可以供参考。
secondline=$(grep -n 'a' a.txt | sed -n '2p' | cut -d : -f 1)
l1=$((secondline+1))
l2=$((secondline+2))
sed -i "${l1},${l2}d" a.txt
执行效果如下: