私はcshの書式設定を使用してからしばらくしていましたが、いくつか問題が少しありました。 Matlabで実行するのはずっと簡単ですが、私は対話しようとしているプログラムのために、ターミナルでこれを行う必要があります。だからここネストされたループを実行する+ foreach + csh
は、私が何をしたいのです:私はなど、この
のように構成されているファイルdel.txtを持っていますしたがって、各値はそれ自身の行にあり、すべてのデータに対して1つの列があります。私は私のディレクトリ内にある他のファイルの束を持っています。私は、値1(この場合は1)をファイル1と一致させ、値2をファイル2などと一致させたいと思います。 !
/binに/ cshの
のforeach(cat del.txt
)
のforeach STA(ls *.HHZ
)
echo a is $a
echo $sta
cat <<END>>macro.m
のR $:だからここ
コードが...私がやったことですa
r $ sta
END
sac macro.m
rm macro.m
エンド
エンド
しかし私が達成することは、del.txtの値と各ファイルのすべてをループして、次のファイルに移動していることです私のディレクトリ内にあり、すべての値をループします。私は、これが正しい値を突き合わせるためのフォーマットを見つけ出すのに問題があります。私はスクリプトの中では、私はそれらが一致するようになるまではあまりないです。助けてください誰かが私が間違っていることを教えてもらえますか?私はforeachコマンドが各ファイルのすべてのコマンドを実行すると読んでいますが、これを回避する方法を見つけることができませんでした。 Del.txtから値1を取り出し、ディレクトリからファイル1(sta)にマッチさせ、ループを終了してからdel.txtから値2を取り出し、ディレクトリ2からファイル2にマッチさせますsta)。私は、ファイルの一部のサブセットでcshを使用した単なる反復以上のことをしたことはありません。私は値を互いにどのように参照するのか分かりません。どんな助けでも大歓迎です。私はすべてを書くことなくこれを行う簡単な方法を発見していない。私は 'for'と 'while'のコマンドを見ました。それを行う簡単な方法があると私はそれを見ません。
乾杯、 K