熱出力から日付をEPOCHに置き換える

熱出力から日付をEPOCHに置き換える

次のデータセットがあります。

user1 1234 01/01/2020
user2 2345 02/02/2020

ユーザー名とID番号を維持しながら、3番目の列(日付)をEPOCHに変換する必要があります。

user1 1234 1577862000
user2 2345 1580626800

変換して印刷できるようになりましたが、新しい日付が新しい行に追加されます。

$awk '{print($1,$2)}; system("date -d "$3" +%s")' data
user1 1234
1577862000
user2 2345
1580626800

新しいEPOCH日付を列1と列2と同じ行に配置するにはどうすればよいですか?

ベストアンサー1

printデフォルトでは改行文字が追加されます。使用printf:

awk '{printf "%s %s ",$1,$2; system("date -d "$3" +%s")}' data

OFS特殊出力フィールド区切り文字が定義されている場合は、次のものを使用できます。

awk '{printf "%s%s%s%s",$1,OFS,$2,OFS; system("date -d "$3" +%s")}' data

各パラメータは%s残りのパラメータの1つを取得しますprintf

出力:

user1 1234 1577847600
user2 2345 1580612400

おすすめ記事