strftime - 空のフィールドを無視する

strftime - 空のフィールドを無視する

入力サンプル:

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

おすすめ記事