源文本如下,要求删除第一个为happy-123456的行。

-----------------------------
aaaaaaa
happy-
bbbbbb
asdasawe
happy-
dsafsdfsd
sagasdfasd
happy-
------------------------------

目标文本:

-----------------------------
aaaaaaa
bbbbbb
asdasawe
happy-
dsafsdfsd
sagasdfasd
happy-
------------------------------

sed代码1:

sed '0,/happy/{//d}' file

sed代码2:

sed '/happy/{x;/./p;d}' file

sed代码3:不建议使用,此代码思路是一次性将所有本行读入模式空间,然后再进行替换。文本较大时,处理起来没有较率,并且占用内存多。

sed ':a;N;$!ba;s/happy-123456\n//' file
05-11 20:28