-1

如标题中所述,我正在寻找一种方法如何创建指向名称中包含指定文本的所有子文件夹的链接,例如,对于名称中包含“.app”的根目录的所有子文件夹,将创建指向“/AppLinks”的链接“ 目录。我想在 bash 脚本中使用它(开源,免费)。

有谁知道这是怎么做到的吗?我用谷歌搜索它没有运气。

4

2 回答 2

1
find yourdir -type d -name '*.app' -exec ln -s {} /AppLinks \;

找到所有在 中命名something.app的目录yourdir,并在 /AppLinks 中创建指向它们的符号链接。

于 2013-05-12T20:32:02.743 回答
0

单行 bash-fu

function FUNCsymlink() { echo "$1"; fileName=`basename "$1"`; ln -s "$1" "/AppLinks/$fileName"; }; export -f FUNCsymlink; find `pwd`/ -maxdepth 1 -type d -iname "*.app" -exec bash -c "FUNCsymlink '{}'" \;

易于阅读:

function FUNCsymlink() { 
  echo "$1"; 
  fileName=`basename "$1"`; 
  ln -s "$1" "/AppLinks/$fileName"; 
}; 
export -f FUNCsymlink; 
find `pwd`/ -maxdepth 1 -type d -iname "*.app" -exec bash -c "FUNCsymlink '{}'" \;

您可能需要针对您的特定解决方案对其进行一些调整。

无论您在哪里运行它,它都会创建指向 /AppLinks 的符号链接

它只会寻找直接的子文件夹,而不是子文件夹的子文件夹,这就是我相信你需要的..

于 2013-05-12T20:46:30.360 回答