次のデータセットがあります。
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