我在一个名为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
我有一个shell脚本,它接受一个文件作为参数,并根据文件中的数据计算数字,我这样调用脚本
sh Calculate.sh MyFile
我想为此目录中的每个文件运行此shell脚本。
我将如何做到这一点,xargs ??
答案 0 :(得分:6)
您是否尝试过执行find
命令?
我的示例将回显文件,但您可以使用文件名作为参数调用shell脚本
find . -maxdepth 1 -type f -exec echo {} \;
答案 1 :(得分:4)
shell中的简单for循环:
for file in *; do sh Calculate.sh "$file"; done
答案 2 :(得分:1)
find . -maxdepth 1 -type f | xargs -n 1 -I % Calculate.sh %
答案 3 :(得分:1)
./Calculate.sh 2012_04_{05..20}