使用 awk 和 sed 删除带模式的第一行

使用 awk 和 sed 删除带模式的第一行

相当简单。我正在寻找两种方法中最简单的一种sedawk用于删除文件中包含特定字符串的第一行。

答案1

我想最简单的解决方案是:

塞德:

sed -i '0,/string/{//d}' file

awk:

awk '/string/ && !p {p++;next}1' file

答案2

这些可能对你有用:

sed 'x;/./{x;b};x;/string/{h;d}' file

或者

awk '/string/ && !p {p++;next}1' file

答案3

使用 gnu sed:

sed ‘0,/MYSTRING/{//d;}’ file # 仅删除第一个匹配项

相关内容