我想检索特定文件,然后cp
将结果放入另一个目录。一切正常,但我的命令似乎第二次执行。
例如,我有一个文件a
,我想把cp
它放到子目录test/
中,所以我运行:
find . -mtime -1 -name a -exec cp {} test/ ';'
我的文件被复制到我想要的子目录中,但随后我收到此错误消息:
cp: './test/a' and 'test/a' are the same file
我想检索特定文件,然后cp
将结果放入另一个目录。一切正常,但我的命令似乎第二次执行。
例如,我有一个文件a
,我想把cp
它放到子目录test/
中,所以我运行:
find . -mtime -1 -name a -exec cp {} test/ ';'
我的文件被复制到我想要的子目录中,但随后我收到此错误消息:
cp: './test/a' and 'test/a' are the same file
您有一个竞争条件 - 首先
find
找到./a
并将其复制到test/a
,然后它找到新复制的./test/a
并尝试再次复制它:您可以通过告诉
find
不要进入目标目录 ex 来避免这种情况。