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

如何用awk/sed/grep自动化将test1.txt中按.txt分组的单列数据转成行

用Awk实现动态分组文本转换

直接使用Awk命令即可完成需求,无需依赖固定行数参数,完美适配数据动态新增的场景:

awk '/\.txt$/ {if (line != "") print line; line=$0; next} {line=line","$0} END {print line}' test1.txt > text2.txt

命令逻辑说明

  • 匹配以.txt结尾的行(文件名行):
    • 若line变量不为空,说明已攒完上一个文件的所有数值,先打印该行
    • 将当前文件名赋值给line,作为新分组的起始内容
    • 跳过后续逻辑,直接处理下一行
  • 非文件名行(数值行):将当前数值用逗号追加到line末尾
  • 处理完所有行后,打印最后一个分组的内容

执行验证

执行上述命令后,查看生成的text2.txt:

cat text2.txt

输出结果:

row1.txt,1234,2331,2238
row2.txt,2773,6673

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 06:40:46