You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Bash自动格式化文本文件:合并非空行至前一行

段落合并为单行的自动化解决方案

使用sed命令实现

直接执行以下sed命令即可完成需求:

sed -e '/^$/!{N;s/\n/ /;P;D}' 你的输入文件名.txt

命令说明:

  • /^$/! 匹配所有非空行
  • N 将下一行内容读取到当前处理的模式空间中
  • s/\n/ / 把换行符替换为空格,实现行内容合并
  • P;D 打印模式空间的第一部分并删除,循环处理直到遇到空行,以此保留段落间的空行间隔

使用awk命令实现

如果更偏好awk工具,可使用以下命令组合:

awk 'BEGIN{ORS=""} /^$/{print "\n\n"; next} {print $0 " "}' 你的输入文件名.txt | sed 's/ $//'

命令说明:

  • BEGIN{ORS=""} 设置输出记录分隔符为空,让内容连续输出
  • /^$/ 匹配到空行时,输出两个换行来保留段落之间的间隔
  • 非空行则输出内容并追加空格,最后通过sed移除每行末尾多余的空格

内容的提问来源于stack exchange,提问作者Rusnnja

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 21:10:30