源文本如下,要求删除第一个为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