CSVの右パッド番号にsedを使用する

CSVの右パッド番号にsedを使用する

次の数千の行があります。

e0f186cf-c34d-42e9-b8a9-9b9cf1f304e7,TotalNumberOfHandledConnectionsOrSessions,TotalNumbe1211008586,1457343000,179.00

最後の列はタイムスタンプです。問題は、それが秒単位でミリ秒単位で必要であることです。

だから、その数を000で埋めたいと思います。

ただし、いつかこの行にミリ秒を含めることができるため、この場合は000を追加しないでください。

私は成功せずにsedを使ってこのサイトのいくつかの例を試しました。

ベストアンサー1

(GNU)を含むawk

awk 'BEGIN { FS="," ; OFS="," } { if ( length($4)=10 ) { $4=$4"000" ; print $0 } else print $0 }' file

説明する:

  • BEGIN { FS="," ; OFS="," }:入力(FS)および出力(OFS)フィールド区切り文字を最初にコンマに設定します。
  • 4列目の長さが10で、0を3つ加えてすべて出力する場合
  • それ以外の場合はすべて印刷

おすすめ記事