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

如何用awk等简洁方式实现短行作键长行作值的CSV转换

使用AWK简化文本转CSV格式的实现

现有如下格式的文本文件:

729590
fbe2d8c9-5b33-4758-8668-7e9f9f70085b
326e9ee4-da56-44de-ad40-e42f14dbf6c4
459590
d43bcb29-7c91-411c-ad5a-7450a927d2df
865431
f719b802-a7bd-4b83-aa02-08e3d3f351ff
8fcb6aed-9c87-4c0d-af94-9200830c4e27
c56378e8-fb14-4cd4-b816-020b328fb50a
345621
9fd92086-e681-4458-9631-cfa02d349fee
16cf1a8d-3fd8-49a3-b9fd-445a1413d280
07f31e67-07a4-4088-8cdd-9354d26cbd70
d6af1a35-563e-4e51-8533-0ec0a39d26fa
e7ae32e8-3658-400b-ab95-5107bedb6f34

需要转换为以下CSV格式:

729590,fbe2d8c9-5b33-4758-8668-7e9f9f70085b,some_text
729590,326e9ee4-da56-44de-ad40-e42f14dbf6c4,some_text
459590,d43bcb29-7c91-411c-ad5a-7450a927d2df,some_text
865431,f719b802-a7bd-4b83-aa02-08e3d3f351ff,some_text
865431,8fcb6aed-9c87-4c0d-af94-9200830c4e27,some_text
865431,c56378e8-fb14-4cd4-b816-020b328fb50a,some_text
345621,9fd92086-e681-4458-9631-cfa02d349fee,some_text
345621,16cf1a8d-3fd8-49a3-b9fd-445a1413d280,some_text
345621,07f31e67-07a4-4088-8cdd-9354d26cbd70,some_text
345621,d6af1a35-563e-4e51-8533-0ec0a39d26fa,some_text
345621,e7ae32e8-3658-400b-ab95-5107bedb6f34,some_text

AWK实现方案

可以用一行AWK命令完成转换,比while循环更简洁:

awk '/^[0-9]+$/ {id=$0; next} {print id "," $0 ",some_text"}' input.txt > output.csv

逻辑说明

  • /^[0-9]+$/ {id=$0; next}:匹配纯数字的行(也就是ID行),将该行内容存入变量id,然后跳过当前行的后续处理,直接读取下一行。
  • {print id "," $0 ",some_text"}:处理非数字行(UUID行),输出ID,UUID,some_text的CSV格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 15:52:42