列の数字の10%を別の特定の数字にランダムに置き換える必要があります。たとえば、最初の位置を除くすべての数字の10%を「1」にランダムに置き換えます。
1.txtファイルから
1 1234567890
2 0987654321
出力ファイル2.txt
1 1234561890
2 0987651321
答え1
次のスクリプトを repwith1.sh として保存します。
cat | while read procl
do echo -n "${procl:0:1}"
for i in `seq 1 $((${#procl}-1))`
do if [ $((RANDOM%10)) -eq 1 ]
then if echo "${procl:$i:1}" | grep -q "[0-9]"
then echo -n "1"
else echo -n "${procl:$i:1}"
fi
else echo -n "${procl:$i:1}"
fi
done
echo ""
done
次のように使用してください。
$ cat (file name) | bash repwith1.sh
ファイルに保存するには:
$ cat (file name) | bash repwith1.sh > (new file name)