たとえば、このような名前のファイルの束を作成したいと思います(その中にはテキストを含む生ファイル「albedo10solar100」があります)。アルベドを10段階に10から60に変更し、日光を90から変更します。は100、ステップサイズは10です。合計5個:
- アルベド10solar100.m
- アルベド10solar95.m
- アルベド10solar90.m
- ...
- アルベド20solar100.m
- アルベド30solar100.m
まず、albedo10solar100でコマンドを複数回catする必要があると思うので、まずalbedo10solar100> albedo {$ m} solar {$ n}をcatできるシェルスクリプトが必要です。
しかし、albedo10solar100の本文で100のすべてのインスタンスを95にまとめて置き換えるにはどうすればよいですか?各添付ファイルなどについて?
答え1
スクリプト全体は、本文で数字を作成して置換するのと似ています。
for i in $(seq 10 10 60)
do
for j in 90 95 100
do
sed "s/100/$j/g" albedo10solar100.m_orig > "albedo${i}solar${j}.m"
done
done
albedo10solar100.m_orig
使用すると空のファイルalbedo10solar100.m
で上書きされるため、事前に作成しておく必要があります。
答え2
あなたはそれを使用することができますsed。
sed 's/100/95/g' albedo10solar100.m > albedo10solar95.m
もちろん、より良いパターンマッチングのために、「100」および/または「95」を他の正規表現に置き換えることができます。