我有一个目录,/original
,有数百个文件。我有一个脚本会一次处理一个文件,并删除该文件,以便在脚本被中断时不会再执行。所以,我需要一些到/original
到/processing
上的文件的软链接。下面是我的尝试:如何为目录中的每个文件创建软链接?
find /original -name "*.processme" -exec echo ln -s {} $(basename {}) \;
,并得到类似:
ln -s /original/1.processme /original/1.processme ln -s /original/2.processme /original/2.processme ln -s /original/3.processme /original/3.processme ...
我想是这样的:
ln -s /original/1.processme 1.processme ln -s /original/2.processme 2.processme ln -s /original/3.processme 3.processme ...
看来,$(basename)
运行{}
转换之前。有没有办法解决这个问题?如果不是,我还能如何实现我的目标?
`basename`只运行一次;看到一个解释http://stackoverflow.com/questions/4793892/recursively-rename-files-using-find-and-sed/4794313#4794313 – 2011-02-01 15:43:38