我有一个目录/original,其中包含数百个文件。我有一个脚本,该脚本将一次处理一个文件并删除文件,因此如果脚本被中断,则不会再次执行该脚本。因此,我需要一堆软链接(soft link)到/original/processing上的文件。这是我尝试过的:

查找/原始-name“* .processme” -exec echo ln -s {} $(basename {})\;

并得到了类似的东西:

ln -s/original/1.processme/original/1.processme
ln -s/原始/2.processme
ln -s/原始/3.processme
...

我想要类似的东西:

ln -s/original/1.processme 1.processme
ln -s/original/2.processme 2.processme
ln -s/original/3.processme 3.processme
...

似乎在转换$(basename)之前{}正在运行。有办法解决吗?如果没有,我还能如何达到我的目标?

最佳答案

您还可以使用cp(特别是-s选项,它创建符号链接(symbolic link)),例如。

find /original -name "*.processme" -print0 | xargs -0 cp -s --target-directory=.

关于linux - 如何为目录中的每个文件创建软链接(soft link)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4864482/

10-11 06:48