结合Awk中的字段

时间:2008-12-31 11:34:57

标签: awk

是否可以轻松地在awk中组合字段?具体来说,我有这样的行:

1,2,some text
3,4,some text, but it has commas in it, annoyingly

我想将两个数字作为前两个字段提取,但后来我希望所有文本(逗号和所有)都是第三个字段。有没有办法做到这一点?

我的基本awk电话是这样的:

awk -F\, '{print $1"|"$2"|"$3}' file.txt

对于第一行可以正常工作,但在第二行的文本中停留在逗号处。

2 个答案:

答案 0 :(得分:2)

也许:

awk '{for (i=0;i<2;i++) sub(",", "|", $0); print}' file.txt

答案 1 :(得分:0)

您可以使用sed来完成它。

cat file.txt | sed 's/\(.?*\),\(.?*\),/\1|\2|/'