11 说我有这个857835线文件,其中包含以下内容: a1 rubbish1 rubbish2 rubbish3 rubbish4 a1 rubbish5 rubbish6 rubbish7 rubbish8 我希望删除a1下一行(rubbish1和rubbish5在本示例中)的所有出现。我该怎么做? 我尝试grep 'a1' -v -A1无济于事,而我的sed skillz并不是很好:} 这次我的Google-fu无法帮助我,请帮助! grep text-processing sed — 雷富 source
16 尝试: sed -e '/^a1$/,+1d' "filename" 这意味着从/ ^ a1 $ /到下一行,删除 ^和$确保您与整行匹配,因此隐藏的a1将不匹配。 — 前进 source 6 你可能想^和$在那场比赛,迫使匹配整行。 — 詹德, @詹德:当然,更正 — asoundmove '02
12 以下内容适用于非GNU sed(,+1地址语法是GNU扩展): sed -e '/^a1$/,/^/d' my_file >my_filtered_file “删除从精确读取'a1'的行开始,到存在该行开头的下一行(即下一行)结束,”。 但是,它的扩展性远不如@asoundmove的答案,因为删除不同数量的行将采用完全不同的脚本。 — 詹德 source
^
和$
在那场比赛,迫使匹配整行。