2

異なるサブディレクトリに存在するファイルに対してプログラムを実行し、出力を出力ファイルにリダイレクトしたいと考えています。プログラムが実行されたディレクトリに出力を保存したい。

だから私はこのようなことをしたいと思います:

for x in */*.txt; do command $x > output.fsa; done

私の質問は次のとおりです。

  1. 上記のループは正しいですか?コマンドが実行されたディレクトリに出力を保存するためにディレクトリを変更する必要がありますか、またはLinuxが処理しますか?
  2. 出力ファイルにディレクトリの名前を付ける方法についてのアイデアはありますか?
4

2 に答える 2

2

上記のループは正しいですか?

はい

コマンドが実行されたディレクトリに出力を保存するためにディレクトリを変更する必要がありますか、またはLinuxが処理しますか?

ディレクトリを変更する必要はありません。出力を正しいディレクトリ内のファイルにリダイレクトするだけで十分です。

for x in */*.txt; do command $x > `dirname $x`/output.fsa; done
于 2013-06-10T08:34:49.590 に答える