各ファイルの本文に異なるパラメータを使用して複数のファイルを作成する方法は?

各ファイルの本文に異なるパラメータを使用して複数のファイルを作成する方法は?

たとえば、このような名前のファイルの束を作成したいと思います(その中にはテキストを含む生ファイル「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」を他の正規表現に置き換えることができます。

関連情報