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

如何使用awk将当前行内容追加至前一行(NR-1)?

合并单行文本到前一行的awk方案

直接用awk命令就能完成需求,把字段数为1的单行内容追加到前一行末尾:

NR>1 && NF==1 { printf " %s", $0; next } { if (NR>1) print ""; printf "%s", $0 } END { print "" }

命令逻辑说明

  • 当处理的不是第一行且当前行仅含1个字段时,以空格开头输出当前行内容(追加到前一行),然后跳过后续步骤
  • 对于含多个字段的行,先判断如果不是第一行就输出换行(结束上一行的内容),再打印当前行内容
  • 最后通过END块输出一个换行,保证文件结尾格式正确

输入示例

Company Name LLC
Company Name2
LLC
Very Good company name but rolls
over

输出结果

Company Name LLC
Company Name2 LLC
Very Good company name but rolls over

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 04:15:29