使用管道从Ubuntu笔记本电脑中删除所有Thumbs.db文件

使用管道从Ubuntu笔记本电脑中删除所有Thumbs.db文件,ubuntu,pipe,pipeline,Ubuntu,Pipe,Pipeline,我有一台安装了Ubuntu 10.04的笔记本电脑。我将一些文件从一台计算机迁移到此计算机。但是有一些文件,比如Thumbs.db文件,我想把它们的每一次出现都去掉 我试着用 locate Thumbs.db | rm 但dis没有成功(显然它不应该成功)。然后我试着使用下面的方法,但很有可能没有一个成功: locate thumbs.db > rm locate thumbs.db < rm locate thumbs.db>rm 找到thumbs.db

我有一台安装了Ubuntu 10.04的笔记本电脑。我将一些文件从一台计算机迁移到此计算机。但是有一些文件,比如Thumbs.db文件,我想把它们的每一次出现都去掉

我试着用

locate Thumbs.db | rm
但dis没有成功(显然它不应该成功)。然后我试着使用下面的方法,但很有可能没有一个成功:

locate thumbs.db > rm
locate thumbs.db < rm
locate thumbs.db>rm
找到thumbs.db
正如在座的每个人可能都指出的,我在使用管道时遇到了困难,我想用这个例子来澄清我的概念。我已经阅读了基础知识,但仍然无法开始应用它。

您可能需要尝试:

find /mnt/something -iname 'thumbs.db' -exec rm -v {} \;
或者,如果你真的想使用管道,你可以试试

find /mnt/something -iname 'thumbs.db' | xargs rm -v
-iname
将搜索“Thumbs.db”和“Thumbs.db”。查看更多信息

更改路径的
/mnt/某些内容

编辑:

我想你也可以试试:

find /mnt/someting -iname 'thumbs.db' | while read junk; do rm -v "$junk"; done

它应该与名称等中包含空格的目录一起使用。

find
已经具有删除功能,因此不需要管道:

find . -iname thumbs.db -delete

这意味着从我当前的工作目录中递归删除所有匹配
thumbs.db
的文件,而不考虑大小写。

上面提到的一个问题是,我有一个目录“newdirectory”,其中包含thumbs.db文件。当我发出上面的命令时,它会尝试从我的计算机上不存在的“New”和“Directory”目录中删除Thumbs.db。这就是管道和xargs最糟糕的地方,如果您使用带有-exec的,它将按照您的需要工作。find和xargs不糟糕。只需使用
查找-打印0 | xargs-0…
。这将使用空字符分隔文件名,因此空格不再特殊。@Ryan您可以详细介绍它的用法或编辑Piotr的代码以满足要求
find/mnt/something-iname'thumbs.db'-print0 | xargs-0 rm-v
@w2name:也可以尝试
find-iname*.ini-删除
,如果您也想删除这些文件。这非常有用。非常感谢。