1

在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

这适用于第一行,但在第二行文本中的逗号处停止。

4

2 回答 2

2

也许:

awk '{for (i=0;i<2;i++) sub(",", "|", $0); print}' file.txt
于 2008-12-31T12:06:30.050 回答
0

你可以使用 sed 来做到这一点。

cat file.txt | sed 's/\(.?*\),\(.?*\),/\1|\2|/'
于 2008-12-31T11:56:47.870 回答