テキストファイルの数を掛けるBashスクリプト?

テキストファイルの数を掛けるBashスクリプト?

テキストファイルの数だけ乗算できるbashコマンドを探しています。以下は私のテキストファイルの内容です。すべての数字に100を掛ける必要があります。

    0 4530000 sil
4530000 11100000 ow
11100000 6320000 p
6320000 7600000 ah
7600000 8410000 n
8410000 12100000 sil

数字のみの 1 行の場合は、次のようなものを使用します。

for file in *.txt; \
do y=`sed -n '1 p' "$file"`;
   z=$(bc<<<"$y*100")
   sed $file -i -e 's/'"$y"'/'"$z"'/'
done

しかし、文字を含む複数行に対してこれを行う方法がわかりません。私のファイルの行数は固定されていません。各ファイルの行数は最大8つまで異なります。

ベストアンサー1

パールを使用できます

perl -pe 's/\b(\d+\.)?\d+\b/$&*100/ge' file

おすすめ記事