1. ホーム
  2. bash

[解決済み] ディレクトリ内のすべてのファイルに対してコマンドを実行する

2022-03-14 18:27:08

質問

どなたか、次のようなコードを提供していただけませんか。 ファイルのディレクトリがあり、そのすべてがあるプログラムを通して実行される必要があるとします。プログラムは、結果を標準出力に出力します。私は、ディレクトリに入り、各ファイルでコマンドを実行し、出力を1つの大きな出力ファイルに連結するスクリプトが必要です。

例えば、1つのファイルに対してコマンドを実行する場合。

$ cmd [option] [filename] > results.out

解決方法は?

以下のbashコードは、$fileが/dir内のすべてのファイルを表すように、コマンドに$fileを渡します。

for file in /dir/*
do
  cmd [option] "$file" >> results.out
done

el@defiant ~/foo $ touch foo.txt bar.txt baz.txt
el@defiant ~/foo $ for i in *.txt; do echo "hello $i"; done
hello bar.txt
hello baz.txt
hello foo.txt