入力サンプル:
one
two 1578678600
awkコマンド:
$ echo -e "one\ntwo 1578678600"|awk '{print $1,strftime("%Y-%m-%d %H:%M:%S", $2)}'
one 1970-01-01 00:00:00
two 2020-01-10 17:50:00
strftime
「1970-01-01 00:00:00」を印刷せずに空のフィールドを無視する方法は?空のフィールドは処理後も空になると予想されます。
答え1
私はそれについて考えた
$ echo -e "one\ntwo 1578678600"|awk '{if($2!="") {t=strftime("%Y-%m-%d %H:%M:%S", $2)} else {t=$2}};{print $1,t}'
one
two 2020-01-10 17:50:00
または、より良い方法は次のとおりです。
$ echo -e "one\ntwo 1578678600"|awk '{print $1,($2 != ""? strftime("%Y-%m-%d %H:%M:%S", $2) : $2)}'
one
two 2020-01-10 17:50:00