Shell命令向数据添加列(通过另一个函数)

时间:2018-05-30 01:40:42

标签: shell sh

我有像

这样的数据
1234567890.123 'time1'
2345678901.234 'time2'
3456789012.345 'time3'

其中第一个数字表示纪元,我想附加一个人类可读日期的列。所以像cut -c 1-10 | xargs -I {} date -r {}这样的东西很接近,但我想保留在线上的其他数据。

最简单的方法是什么?

1 个答案:

答案 0 :(得分:0)

我不确定您的数据是否只是一个字符串或其他内容,但如果它是一个字符串,您可以使用grep和regex grep前10个数字,转换为可读日期并附加到原始字符串。

input="1234567890.123 'time1'"
readable="@$(echo $input| grep -oP '^[0-9]{10}')"
output="$input $(date -d $readable)"

我正在使用@和-r进行转换,但这也适用于-r选项。