これは私の入力です。
"004|B20A|2008-09-01 00:00:00.000|C|2008-09-01 00:00:00.070|4277"
私の出力は
"004|B20A|2008-09-01 00:00:00.0|C|2008-09-01 00:00:00.07|4277"
答え1
次のことができます。
perl -F'[|]' -lae 's/\.\d+?\K0+$// for $F[2], $F[4]; print join "|", @F'
(ここで仮定すると日付フィールドそれぞれ3番目と5番目)。
答え2
ファイルがあります
perl -ip -e 's/(\.\d+?)0*(\|)/$1$2/g' "$F"
またはパイプ
echo "$V" | perl -pe 's/(\.\d+?)0*(\|)/$1$2/g'
答え3
これはどうですか? :
perl -pe 's/(\.\d+?)0*(\D)/$1$2/g'
入力例には先頭と末尾に二重引用符が含まれているため、おそらく行末に浮動小数点はありません。