ubuntuシェルでプログラム(myAppと言う)を実行しようとしています。 通常、myAppは次のように呼び出されます。myApp /path/to/file1 /path/tofile2
出力は、標準出力に印刷されるマトリックスです。異なるパラメータでプログラムを実行し、結果をtxtファイルに保存する
私がしたいことは、ディレクトリ内のすべてのファイルに対してmyAppを実行して、出力をtxtファイルに保存することです。最後の部分は、私はmyApp /path/to/file1 /path/tofile2 > myOutputfile.txt
とやりたいと思っています。
私は本当にすべてのファイルを自動的に呼び出すことに固執しています。
for i in $(ls /tmp/ch0_*000000{0..483..4}.pcd);
do
f1=$i
f2=$i+1 # i also tried f2=i+1
myApp /tmp/$f1 /tmp/$f2 > myOutput.txt
done
ので、私の問題は、私はて、myAppにそれを渡すために、リスト内の次のファイル名に得ることができないということです。 の場合は、これを実行しようとしています。私が今行っているのは、既存のファイル文字列に '+1'を追加することです。 返されたls出力から次のファイルを取得するにはどうすればよいですか?感謝! ありがとう!
参照[なぜあなたはLS(1)の出力を解析するべきではありません] (http://mywiki.wooledge.org/ParsingLs) – Inian
'ch0_ * 000000 {0..483..4} .pcd'も動作するはずですか? '/ tmp'の下にファイルがどのように存在しているか教えてください。で/ tmpにこのような一見 – Inian
ファイル: 'ch0_000000000.pcd ch0_000000001.pcd ... ch0_000000010.pcd ... ch0_000000483.pcd ' と私はエコーで4回ごとのファイル名を印刷する場合ははい、それは動作します。 – Sven0