我正在尝试编写一个 BASH 脚本,它将 :00:00 附加到 CSV 文件第二个字段中所有值的末尾。
我已经尝试阅读“awk”手册页,但我不明白如何才能完成。感谢您的帮助!
源文件:
2012-02-29,00,Manhatten,New York,244
2012-02-29,01,Manhatten,New York,246
2012-02-29,02,Manhatten,New York,554
2012-02-29,03,Manhatten,New York,854
2012-02-29,04,Manhatten,New York,488
结果文件:
2012-02-29,00:00:00,Manhatten,New York,244
2012-02-29,01:00:00,Manhatten,New York,246
2012-02-29,02:00:00,Manhatten,New York,554
2012-02-29,03:00:00,Manhatten,New York,854
2012-02-29,04:00:00,Manhatten,New York,488
最佳答案
下面是过滤转换的命令:
awk 'BEGIN { FS=","; OFS="," } (NF>=2) { $2=$2 ":00:00"; } (1)'
如果您有一个存储源数据的文件 source.txt
和一个要存储输出的文件 result.txt
,则可以执行以下命令:
awk 'BEGIN { FS=","; OFS="," } (NF>=2) { $2=$2 ":00:00"; } (1)' source.txt >result.txt
如果您有多个输入文件,您可以将它们添加到参数中。 参见 manpage of awk了解更多详情。
关于linux - 将字符串附加到第二列中所有 CSV 字段末尾的 Shell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9504938/