linux - 向 CSV 文件中的所有行添加 2 小时 - CentOS

标签 linux date csv awk sed

我有一个 CSV 文件,格式如下

YYYY-mm-dd HH:MM:SS     Some commentary text 
YYYY-mm-dd HH:MM:SS     Some commentary text 
YYYY-mm-dd HH:MM:SS     Some commentary text 
YYYY-mm-dd HH:MM:SS     Some commentary text 

如何为每个日期条目添加 2 小时?我知道日期将位于每行的前 19 个字符中。

最佳答案

快速而肮脏的解决方案:

while read line ; do OldDate="$(echo "$line"| awk '{print $1" "$2}')" ; NewDate=$(date "+%Y-%m-%d %H:%M:%S" -d "$OldDate +2 hours"); echo "$line" | sed "s/$OldDate/$NewDate/g"   ; done < original.csv > modified.csv

关于linux - 向 CSV 文件中的所有行添加 2 小时 - CentOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41463371/

相关文章:

php - 无法获取 CSV 作为输出 - PHP

php - 在 debian 中无法通过 glob 'php8.0' 找到任何包

php - 简单的日期函数在 php 中不起作用

mysql - 从 CSV 将新表导入 MySQL v5 的最简单方法是什么?

ruby-on-rails - 按组划分的平均值

ios - swift :围绕给定数字创建范围

javascript - 如何将 CSV(带有数组和字典)值转换为 JSON

linux - 将数万个小文件移动到 Azure 存储容器的最快方法

linux - 如何停止分钟的 cron 工作?

linux - 如何解决 ip_options_compile, EXPORT_SYMBOL