unix awk命令中的模式?

时间:2017-07-03 13:03:11

标签: regex unix awk unix-timestamp

"original_timestamp" : 1497691757895

我有这样的文字,我想使用awk命令并将original_timestamp的值更新为日期格式,我正在使用

awk -F, '{x=$1;sub(/:.*/,strftime(":%Y-%m-%d %H:%M:%S",$1),x);$1=x;}1'

但未获得所需的输出

1 个答案:

答案 0 :(得分:0)

我想到这样的事情:

echo "original_timestamp : 1497691757895" | awk -v foo=$(date +%m/%d/%Y:%H:%M:%S) '{ sub(/:.*/,foo) }1'

输出:

original_timestamp 07/03/2017:17:32:23

这就是你要找的地方吗?格式与您要求的格式不同,但我想您可以解决这个问题。关键是你可以使用-v来声明一个包含date命令内容的变量。这个变量可以在sub命令中使用。