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

如何实现文件相邻两行逐次重叠合并?解决awk命令输出不符合预期问题

相邻行重叠合并实现方法

你需要的是逐行滑动拼接的效果,而非奇偶行两两拼接,用以下awk命令即可实现:

awk 'NR>1{printf "%-11s%s\n", prev, $0} {prev=$0}' input.txt

命令说明

  • 逻辑核心是缓存上一行内容,从第二行开始每一行都和上一行拼接输出
  • %-11s是格式化参数:将上一行内容左对齐,固定占11个字符宽度,空缺位置自动补空格,刚好匹配你示例中的对齐效果;如果需要调整两行的间隔大小,直接修改11这个数值即可,数值越大间隔越宽
  • 每次处理完当前行,将当前行内容存入缓存变量供下一行使用

原命令失效原因

你之前使用的awk 'NR%2?ORS=FS:ORS=RS'是奇偶行两两合并逻辑,会把第1、2行合并为一行,第3、4行合并为一行,最终输出为Reservoir Dogs、1992 reviewed这类结果,和你需要的逐行滑动重叠逻辑不符,因此无法得到预期输出。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 18:27:02