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

如何用Bash脚本按@target G0.S0拆分数据并合并为多列输出文件?

解决方案:按分隔符拆分数据块并拼接对应行

可以用awk命令快速实现这个需求,一行命令就能搞定:

awk '/^@target/ {block++ ; next} {lines[NR - block] = lines[NR - block] " " $0} END {for (i in lines) print lines[i]}' file1.txt > file2.txt

命令逻辑说明:

  • 匹配以@target开头的分隔符行时,增加计数器block并跳过当前行,不参与后续拼接
  • 对于普通数据行,计算它在所属数据块中的相对行号(总行数NR减去已遇到的分隔符行数block),将当前行内容追加到对应行号的数组元素末尾
  • 处理完所有行后,遍历数组输出每一行,就是各数据块对应行拼接后的结果

运行上述命令后,生成的file2.txt就会完全符合你想要的格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 02:40:31