标题说明了一切。我尝试了几种语法,都失败了。也许这不可能一蹴而就……当然,搜索引擎没有帮助,手册也很难理解,info 命令也没有帮助。所有这些都缺少一个带有一系列“种类”预选的示例
答案1
最后我找到了这句杀手锏:
sed -i '1795,$ {/PaTtErN/d}' file.log
小心使用-i
旗帜并在尝试之前阅读手册
答案2
也可能AWK
:
bash-4.3$ cat input.txt
line one
and another line
running out of ideas for text
Oh, look , banana !
some more lines
this is boring
But what is not boring ? text processing !
bash-4.3$ awk 'NR<4; NR>4 && $0!~/banana/' input.txt
line one
and another line
running out of ideas for text
some more lines
this is boring
But what is not boring ? text processing !
这里的想法是打印所有少于 4 行且未发生改变的行。大于 4 且不包含特定模式(在本例中为单词“banana”)的行将被打印,而包含该模式的行显然不会被打印。