2013-06-30 40 views
2

假設我鍵入此命令:如何使用xargs將特定文件從一個目錄移動到其他目錄?

find /etc/info/ -name ".c" | xargs -I {} grep -l 'importantFile' {} 

現在我的一切,我很感興趣,其中有.c和關鍵字「importantFile」後綴的文件。我如何將它移動到我當前的目錄之一(名稱:文件夾)?

我想:

find /etc/info/ -name ".c" | xargs -I {} grep -l 'importantFile' {} mv{} ./folder 

,它不工作。請幫助:P

+0

您需要'-name'選項的通配符,如:find/etc/info/-name「* .c」 – Ricardo

回答

2

如果你想堅持的發現,這樣的事情應該工作:

xargs -r0 --arg-file <(find . -name "*.c" -type f -exec grep -lZ importantFile {} + 
) mv -i --target-directory ./folder 

試試這個

grep -lir 'importantFile' /etc/info/*.c | xargs mv -t ./folder 
+0

如果我必須堅持使用find,該怎麼辦? – user1701840

1

這對我的作品感動複製某些PDF

find . -name "*.pdf" | xargs -I % cp % ../testTarget/ 

所以對於你的例子應該是

find /etc/info/ -name "*.c" | xargs -I % mv % ./folder 
+0

如何將日期附加到移動的文件文件名 – Bobby

相關問題