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

如何将文件中垂直排列的多列数据转换为水平排列?

空行分隔的垂直列转水平行解决方案

使用awk命令实现

直接执行以下命令即可完成转换(将input.txt替换为你的实际文件名):

awk -v RS= '{for(i=1;i<=NF;i++) a[i] = a[i] (a[i] == "" ? "" : " ") $i} END{for(i in a) print a[i]}' input.txt

命令逻辑说明

  • -v RS=:把空行设置为记录分隔符,这样每一组垂直列会被识别为一个独立的记录
  • 循环遍历每个记录的每一行,将对应位置的内容拼接进数组a的对应元素中,同时处理空格避免开头或末尾多余空格
  • 所有记录处理完成后,遍历数组输出拼接好的每一行

效果验证

原文件内容:

123
456
789

789
456
123

456
123
789

执行命令后输出:

123 789 456
456 456 123
789 123 789

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 18:32:35