7

YYYY_MM_DDという名前のディレクトリにたくさんのファイルがあります

-rw-r--r-- 1 root root 480K Apr 21 13:17 2012_04_05
-rw-r--r-- 1 root root 483K Apr 21 13:17 2012_04_06
-rw-r--r-- 1 root root 484K Apr 21 13:17 2012_04_07
-rw-r--r-- 1 root root 480K Apr 21 13:17 2012_04_08
-rw-r--r-- 1 root root 344K Apr 21 13:17 2012_04_09
-rw-r--r-- 1 root root  66K Apr 21 13:17 2012_04_10
-rw-r--r-- 1 root root 461K Apr 21 13:17 2012_04_11
-rw-r--r-- 1 root root 475K Apr 21 15:09 2012_04_17
-rw-r--r-- 1 root root 480K Apr 21 15:10 2012_04_18
-rw-r--r-- 1 root root 474K Apr 21 15:10 2012_04_19
-rw-r--r-- 1 root root 474K Apr 21 15:10 2012_04_20

ファイルをパラメータとして受け取り、ファイル内のデータに基づいて数値を計算するシェルスクリプトがあります。このようなスクリプトを呼び出します。

sh Calculate.sh MyFile

このディレクトリ内のすべてのファイルに対してこのシェルスクリプトを実行したいと思います。

xargs、これをどのように行うのですか?

4

4 に答える 4

7

findコマンドを実行して試しましたか?

私のサンプルはファイルをエコーし​​ますが、ファイル名をパラメーターとしてシェルスクリプトを呼び出すことができます

find . -maxdepth 1 -type f -exec echo {} \;
于 2012-04-21T14:49:35.130 に答える
5

シェルでの単純な for ループ:

for file in *; do sh Calculate.sh "$file"; done
于 2012-04-21T18:36:55.287 に答える
1

find . -maxdepth 1 -type f | xargs -n 1 -I % Calculate.sh %

于 2012-04-21T15:01:36.500 に答える
1
./Calculate.sh 2012_04_{05..20}
于 2012-04-22T12:33:37.197 に答える