以下のような数行のファイルがあります
ABCD|100.19000|90.100|1000.000010|SOMETHING
BCD|10.100|90.1|100.019900|SOMETHING
さて、sed
これを適用した後、出力を次のようにしたいと思います(さらに処理するために使用するため)
ABCD|100.19|90.1|1000.00001|SOMETHING
BCD|10.1|90.1|100.0199|SOMETHING
つまり、すべての末尾のゼロ ( の前のもの|
) を結果から削除したいと考えています。
私は次のことを試しました:(regtestは上記の元のデータを含むファイルです)
cat regtest | sed 's/|\([0-9]*\)\.\([0-9]*\)0*|/|\1\.\2|/g'
貪欲だと思うのでうまくいきませんでした。
cat regtest | sed 's/|\([0-9]*\)\.\([0-9]*\)0|/|\1\.\2|/g'
動作します。ただし、このsed
コマンドを同じファイルに繰り返し適用して、ゼロを次々と削除する必要があります。意味を成さない。
どうすればそれについて行くことができますか?ありがとう!