linux - 将字符串附加到第二列中所有 CSV 字段末尾的 Shell 脚本

标签 linux bash parsing shell awk

我正在尝试编写一个 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/

相关文章:

linux - 如何使用 MOD_XML_CURL 通过 HTTP GET 方法检索 SIP 凭据

linux - 为什么要在 makefile 中包含/dev/null?

linux - 隐藏明文密码不显示在 bash 脚本中?

json - 在 bash 脚本中添加 JSON 元素

json - Delphi - 在运行时解析 JSON 数据时发生访问冲突

python - 如何解析非结构化的表类数据?

java - 使用 GSON 解析 JAVA 中的 JSON

linux - 如何在 Ubuntu 17.10 中为自定义路径设置 PATH

linux - 使用管道划分 bash 的最佳方法?

bash - 按染色体(行标题)将文件拆分为新文件