以下のようにタイムスタンプ形式を含むファイルがあります。
'2020-03-07T14:42:36Z UTC [ db=dev user=rdsdb pid=16913 userid=1 xid=5326 ]' LOG: SET statement_timeout TO 120000
このタイムスタンプ形式を次に変更したいと思います。
2020-03-07 14:42:36 UTC
このファイルに。
これはログファイルなので、形式を直接変更することはできず、数十億行もあります。
答え1
sed -e 's/T/ /' -e 's/Z//' file
または等しく、
sed 's/T/ /; s/Z//' file
まずT
、ファイルの各行の最初の文字を空白に置き換えてから、最初の文字を削除するとZ
変換されます。
'2020-03-07T14:42:36Z UTC [ db=dev user=rdsdb pid=16913 userid=1 xid=5326 ]' LOG: SET statement_timeout TO 120000
入力する
'2020-03-07 14:42:36 UTC [ db=dev user=rdsdb pid=16913 userid=1 xid=5326 ]' LOG: SET statement_timeout TO 120000
データを保存するには、新しいファイルにリダイレクトしてください。ファイルを内部編集するには、まず編集が正しく行われていることを確認し(コマンドは各行にこれらのタイムスタンプが1つ以上または1つ以上ないと仮定します)sed -i
。ファイルを変更するには。