sed コマンド交換文字

sed コマンド交換文字

私の入力ファイルのレイアウトは次のとおりです。mm/dd/yyyy,hh:mm,other fields
形式は次のように指定する必要があります。 yyyy-mm-dd hh:mm:00,other fields

入力例:

01/02/1998,09:30,0.4571,0.4613,0.4529,0.4592,6042175
01/02/1998,09:45,0.4592,0.4613,0.4529,0.4571,9956023
01/02/1998,10:00,0.4571,0.4613,0.455,0.4613,8939555
01/02/1998,10:15,0.4613,0.4697,0.4571,0.4697,12823627
01/02/1998,10:30,0.4676,0.4969,0.4613,0.4906,28145145

出力例:

1998-01-02 09:30:00,0.4571,0.4613,0.4529,0.4592,6042175
etc...

私は以下を使用しようとしています:

sed -r 's/\(^[0-9][0-9])\(\/[0-9][0-9]\/)\(\/[0-9][0-9][0-9][0-9],)/\3\1\2/g

ベストアンサー1

sed -e 's/\(..\)\/\(..\)\/\(....\),\(.....\),\(.*\)/\3-\1-\2 \4:00,\5/'

次のコメントの入力を含めるように編集されました。

sed -e 's#\(..\).\(..\).\(....\),\(.....\),#\3-\1-\2 \4:00,#'

おすすめ記事