【发布时间】:2016-07-29 03:26:56
【问题描述】:
我想在一个文件夹中查找并复制所有带有*.jpg 的文件,包括其子文件夹到另一个文件夹
我用
find /tempL/6453/ -name "*.jpg" | xargs -I '{}' cp {} /tempL/;
但它会覆盖同名文件
例如在/tempL/6453/中,有test (1).jpgtest (2).jpg和文件夹1,在/tempL/6453/1/中也有同名文件test (1).jpgtest (2).jpg
如果我使用上面的命令,test (1).jpgtest (2).jpg在/tempL/中只有两个文件,它不能将所有文件都复制到/tempL/。
我想要的是将所有文件复制到/tempL/,当有相同的文件名时,只需重命名它们,如何?
【问题讨论】:
-
cp *.jpg PUT_DESTINATION_PATH
-
@OmidCompSCI 请仔细阅读问题。诚然,它的措辞可以更好,但很明显,OP 想要重命名任何源目录中具有相同名称的文件。您的建议不会重命名,也不会递归源子目录。
-
@kaylum,抱歉没有 100% 理解它,也不确定递归,但它不会使用 -r 吗?
-
@OmidCompSCI
-r确实适用于递归目录。但除非源是目录,否则它没有效果。*.jpg不是目录。如果你不明白这个问题,那么最好先要求澄清。 -
@kaylum 啊,明白了,谢谢你的澄清。抱歉,我无法回答这个问题,但我期待看到答案!