如果我有以下名为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
为什么删除第一个和第三个逗号,以及如何确保它们包含在输出中。
第一行的字段是0123,
,fred,
,012345,
和end
。您将第一个和第三个修改为00123
和00012345
,但没有结尾逗号。这就是awk打印的内容。
您的意思是:
awk '{$1=sprintf("%05d,", $1);$3=sprintf("%08d,", $3)}1' mycsv.txt