如何从文件夹及其所有子文件夹中删除具有特定扩展名的所有文件?

Tig*_*ull 25 delete folder file-format

我想从我的音乐文件夹中删除所有 .jpg 文件以节省空间。我的音乐文件夹包含子文件夹,我想知道是否有命令可以从所有这些文件夹中删除所有 .jpg 文件,而不管它们的级别如何。谢谢你的帮助!

Zok*_*oke 82

命令行的快速而干净的解决方案是

cd <dir>
find . -type f -iname \*.jpg -delete
Run Code Online (Sandbox Code Playgroud)
  • . 告诉开始在当前文件夹中搜索。
  • -type f 告诉 find 只查找文件。
  • -iname 使搜索不区分大小写。
  • -delete 告诉 find 删除/删除所有找到的文件。

警告!我建议运行该命令而不-delete先获取-delete包含在命令中时将被删除的文件的列表。这样,一个小的错字就不会删除您不打算删除的任何内容。

有关如何使用find以及它可以做什么的更多信息,请参阅man find

请注意,使用find时不会产生任何输出-delete

关于多个扩展的评论

find . -type f \( -name \*jpg -o -name \*png \) -delete

  • ( .. )组表达。需要从外壳中转义,因此\( .. \)在示例中
  • -o 逻辑或

所以上面的例子将匹配任何具有名称jpgpng末尾的文件。可以用同样的方式添加更多的扩展。只要确保记住-o每一个之间的-name语句中,如果-o不指定,find将默认为-a(和),这是行不通的,因为文件不能在这两个结束jpg,并png在同一时间。

  • 注意:这也会删除子文件夹中的图像。谷歌把我带到了我的不幸中。做`找到。-maxdepth 1 -type f -iname \*.jpg -delete` 如果你想保护子文件夹。 (7认同)

Rin*_*ail 9

这应该做

sudo rm -rf -d ~/Music/*.JPG
Run Code Online (Sandbox Code Playgroud)

这将删除 Music 文件夹中的所有 .JPG 文件。

  • 这不会从子文件夹中删除文件...... (3认同)
  • 当您不想清理子文件夹时,这是一个很好的命令,很好。 (2认同)

One*_*ero 9

最简单的方法(如果您使用的是 Ubuntu 桌面):

转到 Nautilus 中的 Music 文件夹,按Ctrl+F并搜索.jpg

在此处输入图片说明 &然后删除它


您还可以更改位置,并使搜索更加具体。

在此处输入图片说明


更新

搜索后更具体.jpg点击绿色按钮Select File type Picture,然后jpg从搜索中仅删除.点,然后reload如下图所示

它的作用是搜索图片文件.jpg .png .gif和所有其他文件Picture Format

在此处输入图片说明


归档时间:

查看次数:

112258 次

最近记录:

6 年,11 月 前