2009-01-08 102 views
1

我使用以下命令來刪除一個名爲‘test文件夾’文件夾中的每一個「.dummy」目錄:刪除目錄用空格使用bash

rm -rf `find "Test Folder" -type d -name .dummy` 

然而,這不起作用,因爲它擴大說:

rm -rf Test Folder/.dummy 

由於空白不逃脫,這失敗。

我也嘗試過這樣的事情:

find "Test Folder" -type d -name .dummy -exec rm -rf {} \; 

它的工作原理,但它提供了一個惱人的錯誤是這樣的:

find: Test Folder/.dummy: No such file or directory 

有沒有一種方法,使任何一個解決方案成功嗎?

回答

9

一些事情。最簡單的是改變和使用

$ find 'Test Folder' -type d -print0 | xargs -0 rm -rf 

另一種選擇是

$ find 'Test Folder' -type d -exec \'{}\' \; 
2

嘗試

find "Test Folder" -type d -name .dummy -exec rm -rf \"{}\" \; 

注意在rm -rf "{}" ARG到-exec選項額外的報價。它們是必需的,因爲名稱Test Folder/.dummy中有一個空格。所以你需要報價。

+0

是額外的引號實際需要?我不確定他們是誰。 – 2009-01-08 02:03:43

+0

你想在\ {}處加上引號,否則它們將被shell命令行解析所使用。 – 2009-01-08 02:04:42

1

找到 「測試文件夾」 型d -name '.dummy' -delete