源文本如下,要求删除第一个为happy-123456的行。
----------------------------- aaaaaaa happy-123456 bbbbbb asdasawe happy-123456 dsafsdfsd sagasdfasd happy-123456 ------------------------------
目标文本:
----------------------------- aaaaaaa bbbbbb asdasawe happy-123456 dsafsdfsd sagasdfasd happy-123456 ------------------------------
sed代码1:
sed '0,/happy/{//d}' file
sed代码2:
sed '/happy/{x;/./p;d}' file
sed代码3:不建议使用,此代码思路是一次性将所有本行读入模式空间,然后再进行替换。文本较大时,处理起来没有较率,并且占用内存多。
sed ':a;N;$!ba;s/happy-123456 //' file