如何编写脚本删除file.txt中目标字符串行前的所有行并保留后续内容
保留目标字符串行及之后全部内容的实现方案
你已在脚本中定义目标字符串变量 str_name = 'abcd',按以下方案即可完成 file.txt 的内容裁剪:
Python 脚本实现(无第三方依赖)
str_name = 'abcd' file_path = 'file.txt' keep_content = [] # 定位到第一个匹配行后,开始收集后续所有内容 collect_mode = False with open(file_path, 'r', encoding='utf-8') as f: for line in f: if str_name in line: collect_mode = True if collect_mode: keep_content.append(line) # 将收集到的内容回写原文件 with open(file_path, 'w', encoding='utf-8') as f: f.writelines(keep_content)
说明:脚本默认从第一个出现目标字符串的行开始保留,符合绝大多数裁剪场景的预期;如果需要从最后一次匹配的位置开始保留,只需要调整判断顺序:先存入当前行,匹配到目标时清空之前的收集列表重新开始记录即可。
命令行快速实现(无需编写完整脚本)
临时处理文件时可直接用 sed 完成等价操作:
sed -n "/${str_name}/,$p" file.txt > temp.txt && mv temp.txt file.txt
内容的提问来源于stack exchange,提问作者Agatha S
相关产品推荐
相关产品推荐

