2013-08-25 26 views
1

如何刪除幾個目錄了很多的目錄中刪除文件 - Linux的

Dir1 > 
    Dir11/123.txt 
    Dir12/456.txt 
    Dir13/test.txt 
    Dir14/manifest.txt 

在我的例子我想從Dir1運行remove命令目前所有.txt文件。

我知道linux命令rm,但我不知道我怎麼能使這個作品符合我的情況。

PS .:我正在使用Ubuntu。

回答

1

我們不打算進入子目錄,所以不需要使用find;一切都處於同一水平。我認爲這是你要找的東西:rm */*.txt

在你運行這個之前,你可以試試echo */*.txt看看是否要刪除正確的文件。如果要搜索子文件夾子文件夾

使用find將是有益的,等

沒有方向1在當前文件夾,所以不要做find Dir1 ...。如果您在提示符下運行上面找到這將工作:

find . -type f -name "*.txt" -delete

3

做你想做什麼遞歸,find在這種情況下最常用的工具。與-delete開關相結合,你可以用一個命令做(沒有必要find想在這個線程其他答案使用-exec(和叉子)):

find Dir1 -type f -name "*.txt" -delete 

如果你使用,你也能做到:

(shopt -s globstar; rm Dir1/**/*.txt) 
+0

增加了'bash'解決方案和一些解釋 –