如何批量删除多个文件中指定字符串后的所有行?
解决方案
用sed命令就能实现需求,对应命令如下:
sed -i.bak '/Test 123/,$d' file*
命令说明:
/Test 123/,$:定义匹配范围——从包含Test 123的行开始,一直到文件末尾($代表最后一行)。d:执行删除操作,删掉上述范围内的所有行。-i.bak:原地修改目标文件,同时生成带.bak后缀的备份文件;如果不需要备份,Linux环境可直接用-i,macOS系统的sed需要写成-i ''。file*:匹配所有以file开头的文件,你可以根据实际文件名调整这个匹配规则。
执行后,所有目标文件都会只保留Test 123及之前的内容,后续行全部被删除,完全符合你的需求。
内容的提问来源于stack exchange,提问作者Dr-Bracket
相关产品推荐
相关产品推荐

