是否可以轻松地在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
对于第一行可以正常工作,但在第二行的文本中停留在逗号处。
答案 0 :(得分:2)
也许:
awk '{for (i=0;i<2;i++) sub(",", "|", $0); print}' file.txt
答案 1 :(得分:0)
您可以使用sed来完成它。
cat file.txt | sed 's/\(.?*\),\(.?*\),/\1|\2|/'