私の入力ファイルはカンマで区切られた.csvです。 2番目の列をUnix時間から次のように読みやすい日付/時刻形式に変換したいと思います。
before 1502280000
after 8/10/17 08:00:00
またタイトルなので、最初の行を無視したいです。
私はSolaris 10のbashシェルで実行しています。
私のCSVの最初の2行は次のとおりです。
HOST,DATE_TIME_CREATED,USER_ID,EVENT_CLASS
xxxx,1502286180,xxxx,xxxx
xxxx,1502280347,xxxx,xxxx
出力を探す
HOST,DATE_TIME_CREATED,USER_ID,EVENT_CLASS
xxxx,Wed Aug 9 09:43:00 EDT 2017,xxxx,xxxx
xxxx,Wed Aug 9 08:05:47 EDT 2017,xxxx,xxxx
ベストアンサー1
私はYYYY-mm-dd HH:MM:SS時間形式を強くお勧めします。この形式は明確で、語彙と時系列でソートされています。
これを達成するためにPerlを使用することができます。
perl -MPOSIX=strftime -F, -ane '
$F[1] = strftime("%F %T", localtime $F[1]) if $. > 1;
print join ",", @F
' file