从各个子目录中的多个特定文件创建软链接

从各个子目录中的多个特定文件创建软链接

我想创建其名称中包含的所有文件的软链接 ( ln -s) ,并且可以在.folder2*foo*folder1

我已经尝试过使用forfind、 和find -exec ln以及它们的组合,但我得到的只是一个名为 的损坏链接*foo*或指向内部所有内容的链接folder1

答案1

你可以使用这个小片段

#!/bin/bash

folder1="/path/to/folder1"
find "$folder1" -type f -name '*foo*' -exec \ 
sh -c 'for f; do ln -s "$folder1" "/path/to/folder2/${f##*/}"; done' _ {} +

这可以从任何地方运行,因为我在这里使用绝对路径。

相关内容