Unix - 在多个子目录中的同一文件上执行相同的命令

时间:2012-10-25 23:47:52

标签: bash unix loops execute

我在名为10,11,12,....45

的同一目录中有36个子目录

在每个子目录中都有一个名为pressure.sh的文件,我想执行命令,命令为qsub

我想知道是否有办法在父目录的每个子目录10-45中的每个pressure.sh文件上执行命令qsub?

所以我正在寻找一个在每个子目录中逐个执行“qsub pressure.sh”的代码,所以我不必每次都一个接一个地执行。

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:4)

你可以使用glob:

for i in */pressure.sh; do
    qsub $i
done

为了更明确地了解目录,您可以使用范围:

for i in {10..45}/pressure.sh

答案 1 :(得分:1)

另一种方法是使用findxargs

find . -name pressure.sh | xargs -n 1 qsub

找到所有pressure.sh,即使深度超过一个级别。