絶対値が1より小さいすべての値を0に変更

絶対値が1より小さいすべての値を0に変更

行と列の多い大容量ファイルがあります。内容の値は-2と2の間です。絶対値より小さい値をゼロに変更したいと思います。たとえば、-0.3または0.6(絶対値0.3と0.6)がある場合は、これを0に変更したいと思います。誰もがこれを行う良い方法を知っていますか?

ベストアンサー1

perl -pe 's/\S+/abs($&) < 1 ? 0 : $&/ge' < your-file

ここで、等数はperl許可されますが、16進数またはその他の記号は許可されません(0x12は0として扱われ、010は8ではなく10として扱われます)。0.123-12e-4

例:

$ echo "1.2  120e-4 0.001e4 -0.2" | perl -pe 's/\S+/abs($&) < 1 ? 0 : $&/ge'
1.2  0 0.001e4 0

おすすめ記事