如何迭代路径中同名的子目录?

如何迭代路径中同名的子目录?

我正在尝试编写一个 bash 脚本,该脚本遍历路径各部分相同的子目录。也许最好的方法是举一个例子:

目录:

  • /路径/相同/
  • /路径2/相同/
  • /path3/相同/

然后我想对这些目录中包含的所有文件“做一些事情”并将它们保存在另一个子目录中。

结果:

  • /路径/另一个/
  • /path2/另一个/
  • /path3/另一个/

我想这必须用某种方式来完成

for i in /*/same/* ; do
    ... do something with $i ...
done

循环,但不知何故,我所做的所有尝试最终都没有在 $i 中返回任何内容。

有什么建议吗?谢谢 :)

答案1

您的示例代码对我来说看起来不错。这些目录中有多少个文件?通配符扩展有限制。在这种情况下,您应该使用find,例如:

find /path*/same | while read i ; do echo "do something with file: $i" ; done

相关内容