Awk中的合并字段

Awk中的合并字段,awk,Awk,在awk中是否有一个易于合并的字段?具体来说,我有这样的行: 1,2,some text 3,4,some text, but it has commas in it, annoyingly awk -F\, '{print $1"|"$2"|"$3}' file.txt 我想将这两个数字提取为前两个字段,但我希望所有文本(逗号和all)都是第三个字段。有办法吗 我的基本awk电话是这样的: 1,2,some text 3,4,some text, but it has commas in

在awk中是否有一个易于合并的字段?具体来说,我有这样的行:

1,2,some text
3,4,some text, but it has commas in it, annoyingly
awk -F\, '{print $1"|"$2"|"$3}' file.txt
我想将这两个数字提取为前两个字段,但我希望所有文本(逗号和all)都是第三个字段。有办法吗

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

1,2,some text
3,4,some text, but it has commas in it, annoyingly
awk -F\, '{print $1"|"$2"|"$3}' file.txt

这对于第一行很好,但在第二行文本中的逗号处停止。

您可以使用sed来完成

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


awk'{for(i=0;iDe nada。这不完全是您所要求的,但它能完成任务。=)下面提供的答案将起作用。但如果可以,在您的示例中,您最好使用tsv格式。这样您就不会混合字段内容和字段分隔符。