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

Shell脚本实现单列数字文件拆分为两列的方法求助

解决方法

方法一:split + paste 组合操作

先将原文件拆分为两个各含500行的临时文件:

split -l500 $y temp_part

执行后会生成temp_partaa(存储1-500)和temp_partab(存储501-1000)两个文件。

再用paste命令把两个文件的对应行合并为两列:

paste temp_partaa temp_partab > formatted_output.txt

完成后可删除临时文件:

rm temp_partaa temp_partab

方法二:awk 直接处理(无需临时文件)

用awk一次性读取原文件,前500行存入数组,后500行与数组中对应位置的内容配对输出:

awk 'NR<=500{arr[NR]=$0} NR>500{print arr[NR-500], $0}' $y > formatted_output.txt

关于之前尝试的命令失效原因

  • split -l500仅完成文件拆分,本身不具备合并列的功能;
  • column -t用于格式化同一行内的多列内容对齐,无法实现将不同行内容合并为一行两列的效果,因此不符合需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 09:25:14