Zsh文件名递归扩展到多个目录

时间:2019-02-26 13:17:02

标签: zsh

问题:我有一个目录$ BASE,并且在此目录(和/或它下面的任何目录)中,有零个或多个与模式*.x匹配的目录条目。我想遍历所有这些条目。我要在此过程中使用foreach而不是find $BASE -name '*.x'。我有zsh 5.3。

我目前的方法是这样的:

foreach f in $BASE/*.x(N) $BASE/**/*.x(N)
do
  # ... do something with $f
done

是否有一种方法可以更均匀地写入全局模式(不需要重复*.x)?

1 个答案:

答案 0 :(得分:0)

foreach f in $BASE/**/*.x(N)就足够了。 **已匹配 0 或更多目录,因此模式已匹配$BASE/*.x