Awk输出删除逗号

问题描述 投票:1回答:1

如果我有以下名为mycsv.txt的csv文件:

0123, fred, 012345, end
023, smith, 012, end

并应用此awk命令:

awk '{$1=sprintf("%05d", $1);$3=sprintf("%08d", $3)}1' mycsv.txt 

我得到此输出:

00123 fred, 00012345 end
00023 smith, 00000012 end

为什么删除第一个和第三个逗号,以及如何确保它们包含在输出中。

awk
1个回答
0
投票

第一行的字段是0123,fred,012345,end。您将第一个和第三个修改为0012300012345,但没有结尾逗号。这就是awk打印的内容。

您的意思是:

awk '{$1=sprintf("%05d,", $1);$3=sprintf("%08d,", $3)}1' mycsv.txt
© www.soinside.com 2019 - 2024. All rights reserved.