2013-04-25 114 views
0

我使用複製文件在不同的文件夾匹配的名稱

find ../../ -type f -name <filename>*.PDF -print0 | xargs -0 cp --target-directory=Directory name with path>; 

,但它是隻複製一個file.It不會複製其爲具有相同名稱的所有文件。我需要搜索和複製多​​個文件,它們具有相同的名稱,但它是在不同的日期和不同的文件夾中創建的。如何解決這個問題。 PL。確實需要緊急....今天我必須完成搜索腳本。在這方面,我已經創造了很多我正面臨的問題。

謝謝先進。

+4

如何將具有相同名稱的文件複製到同一文件夾?他們會相互覆蓋。 – perreal 2013-04-25 08:53:00

+0

以允許重複的基本名稱,您可以創建一個tar歸檔文件,而不是將文件保存到同一目錄中:'find ../../ -iname \ *。pdf -type f -print0 | tar --null -T - -cf/path/to/pdfs.tar'或者追加唯一後綴來重複輸入中的文件名:'find ... -print0 | perl -MFile :: Basename -0lpe's/$ /「。」 。 $ f {basename $ _}/e if $ f {basename $ _} ++'| xargs -0 ...' – jfs 2013-04-25 14:11:43

回答

0

這會給你重複的文件。一旦你的名字,你可以find他們使用你的腳本刪除:

for i in `find .|grep pom.xml`; do 
    basename $i; 
done |sort|uniq -c|sort -n|cut -b9- 

PS:大家都在趕時間。在您的帖子中添加緊急程度通常在StackOverflow中不被支持,並且您可能會提示相反的反應

+0

我不想刪除。我想複製它.find ../../ -type f -name * .PDF -print0 | xargs -0 cp --target-directory =帶路徑的目錄名稱>; – lalit 2013-04-25 10:45:19

相關問題