我有一个目录/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/