我想删除最后一次出现模式之后的所有行,除了模式本身
file.txt
honor
apple
redmi
nokia
apple
samsung
lg
htc
file.txt 我想要什么
honor
apple
redmi
nokia
apple
我尝试过什么
sed -i '/apple/q' file.txt
这将删除第一次出现模式后的所有行 -
honor
简单、稳健的 2 遍方法几乎不使用内存:
$ awk 'NR==FNR{if (/apple/) hit=NR; next} {print} FNR==hit{exit}' file file
honor
apple
redmi
nokia
apple
如果执行速度不够快THEN是时候尝试一些替代方案,看看是否有任何方案可以提高性能。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)