尝试将 csv 文件中的第一列从 unix 时间戳转换为日期(年月格式)
尝试了date -d @number'+%Y-%m'
和awk
,但是awk
在使用时无法识别@在一起
从 csv 文件中提取:
1556113878,60662402644292
1554090396,59547403093308
预期的 O/p
2019-04,60662402644292
2019-03,59547403093308
最佳答案
如果您有 GNU awk(有时称为 gawk
),请尝试:
gawk -F, '{print strftime("%Y-%m", $1),$2}' OFS=, file.csv
例如,考虑这个输入文件:
$ cat file.csv
1556113878,60662402644292
1554090396,59547403093308
我们的命令产生这个输出:
$ gawk -F, '{print strftime("%Y-%m", $1),$2}' OFS=, file.csv
2019-04,60662402644292
2019-03,59547403093308
在许多 Linux 系统上,GNU awk 是默认设置。在 Ubuntu 等其他系统上,它不是,但可以轻松安装:sudo apt-get install gawk
。在 MacOS 上,可以通过自制软件安装 GNU awk。
关于bash - 将 csv 文件中的第一列从时间戳转换为年月格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55857339/