2017-07-03 53 views
-3
"original_timestamp" : 1497691757895 

我有這樣的文字,我想用awk命令和original_timestamp爲日期格式的更新值,我使用unix awk命令中的模式?

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

,但沒有得到期望的輸出

+1

你爲什麼使用awk? – anubhava

+1

輸入文件是json文件嗎? – hek2mgl

+1

添加更多上下文行和期望的輸出 – RomanPerekhrest

回答

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命令內容的變量。這個變量可以在子命令中使用。

+0

對不起,您是對的。起初我認爲strftime是php獨佔的。 – JFS31