繰り返しごとに、テキストファイルの数値を任意の値に置き換えます。

繰り返しごとに、テキストファイルの数値を任意の値に置き換えます。

次の内容を含むテキストファイルがあります。

number of apples  7

シェルスクリプトを実行し、任意の値(例:5回繰り返し)で数字を変更したいと思います。したがって、次のような出力が必要です。

number of apples  7
number of apples  8
number of apples  1
number of apples  5
number of apples  4

sedコマンドを使ってみました。

sed -i 's/Number of apples  7/Number of apples  '$((1 + RANDOM % 9))'/g' fruits.txt

繰り返し2で新しい番号を自動的に検出して修正するにはどうすればよいですか?

答え1

範囲の正規表現は角かっことハイフンです。したがって、[1-9]1から9までの数字が一致します。

つまり、sedコードは次のように変更されます。

's/Number of apples  [1-9]/Number of apples  '$((1 + RANDOM % 9))'/g'

関連情報