2013-08-25 29 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'解决方案和一些解释 –