如何在文件中WATER-BOTTOM关键词后插入空白行
解决方案:给WATER-BOTTOM行后添加空白行
没问题,这需求很清晰——给每一行带有WATER-BOTTOM的内容后面加个空白行对吧?先给你展示处理后的最终内容:
0.00 600.00 2214.28 785.71 1.00000 SEDS1-BOTTOM 0.00 600.00 2214.28 785.71 1.00000 SEDS1-TOP 0.00 600.00 1500.00 0.00 1.00000 WATER-BOTTOM 0.00 600.00 3446.97 1757.08 1.00000 SEDS2-TOP 0.00 600.00 2218.64 790.51 1.00000 SEDS1-BOTTOM 0.00 600.00 2218.64 790.51 1.00000 SEDS1-TOP 0.00 0.00 600.00 1500.00 1.00000 WATER-BOTTOM 0.00 600.00 3446.97 1757.08 1.00000 SEDS2-TOP 0.00 600.00 1500.00 0.00 1.00000 WATER-BOTTOM 0.00 600.00 3446.97 1757.08 1.00000 SEDS2-TOP
下面给你两种实用的实现方法,根据你的运行环境选就行:
方法1:用sed命令(Linux/macOS终端直接用)
如果你用的是类Unix系统,直接用sed命令就能快速搞定,不需要写脚本:
sed '/WATER-BOTTOM/a\\' input.txt > output.txt
解释一下:
/WATER-BOTTOM/:匹配所有包含WATER-BOTTOM的行a\\:在匹配到的行后面追加一个空白行(两个反斜杠是为了兼容不同sed版本的换行处理)input.txt是你的原始文件名,output.txt是处理后的新文件
方法2:用Python脚本(跨平台,Windows/macOS/Linux都能用)
如果需要跨平台运行,写个简单的Python脚本更稳妥:
# 替换成你的输入文件路径 input_file = "input.txt" # 替换成你想要输出的文件路径 output_file = "output.txt" with open(input_file, 'r') as infile, open(output_file, 'w') as outfile: for line in infile: # 先写入当前行 outfile.write(line) # 如果当前行包含目标字符串,额外写一个空白行 if 'WATER-BOTTOM' in line: outfile.write('\n')
运行这个脚本后,output.txt就是你要的结果。
内容的提问来源于stack exchange,提问作者rehman
相关产品推荐
相关产品推荐

