限られた数だけを含むようにテキストファイルを変更する

限られた数だけを含むようにテキストファイルを変更する

内容が0から100の数字であるテキストファイルa.txtがあります。数値を 10 ずつ増やして a.txt を変更するコマンドが必要ですが、最終結果は 100 未満でなければならないという制約があります。つまり、数値が100より大きい値に達した場合にのみ保持されます(例:95 + 10 = 105)100。

10まで減らすコマンドも必要ですが、最終結果が0以上になるには似ている必要があります。

私ができることは、echoを使用してファイルを直接変更することですが、この方法では、古い数字に追加するのではなく、数字を別のものに置き換えることができます。

ベストアンサー1

これにより10が追加されます。

echo "$(awk '{x=$0+10;if(x>100)x=100; print x}' a.txt)" > a.txt

これにより10が減ります。

echo "$(awk '{x=$0-10;if(x<0)x=0; print x}' a.txt)" > a.txt

$0はファイルから読み取られた現在の行の値であるため、10を加算または減算して、制約内にあることを確認します。

優れたコメントのためのワイルドカードのおかげで、一時ファイルを使用せずにこれを行うことができます。

おすすめ記事