次のようなファイルがあります。
XX1, 1.1,24.08.1994 13:00:00, 111,112,113
XX2, 1.2,24.08.1994 13:30:00, 121,122,123
XX3, NaN,22.08.1995 15:00, 131,132,133
そのため、時間形式は一貫していません。一部の行には hh:mm:ss のような時間があり、一部の時間形式は hh:mm です。秒を削除して、次のようなファイルを取得したいと思います。
XX1, 1.1,24.08.1994 13:00, 111,112,113
XX2, 1.2,24.08.1994 13:30, 121,122,123
XX3, NaN,22.08.1995 15:00, 131,132,133
私がこれまでに試したことは
#!/bin/bash
sed 's@,\(..\):\(..\):\(..\) @,\1:\2 @' < time_fault > ./time_corrected
と
#!/usr/bin/awk -f
BEGIN { RS="," ; FS=":"; ORS=","}
{ getline str
gsub(/*..:..:..*/, $1":"$2 str) > time_corrected }
しかし、どちらも機能しませんでした。