更新

更新

我想从我的音乐文件夹中删除所有 .jpg 文件以节省空间。我的音乐文件夹包含子文件夹,我想知道是否有命令可以从所有这些文件夹中删除所有 .jpg 文件,无论其级别如何。感谢您的帮助!

答案1

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

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

注意!我建议先运行命令,-delete以获取在命令中包含时将被删除的文件列表-delete。这样,一个小的打字错误就不会删除任何你不想要的东西。

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

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

关于多个扩展的评论

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

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

因此,上述示例将匹配名称末尾带有jpg或 的任何文件。可以以相同的方式添加更多扩展名。只需确保记住在每个语句之间,如果没有指定,则默认为(and),这将不起作用,因为文件不能同时以和结尾。png-o-name-ofind-ajpgpng

答案2

这应该可以

sudo rm -rf -d ~/Music/*.JPG

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

答案3

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

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

在此处输入图片描述 然后删除它


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

在此处输入图片描述


更新

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

它的功能是搜索图片文件.jpg .png .gif以及所有其他文件Picture Format

在此处输入图片描述

答案4

Bashshopt -s globstar在这里可以用于递归通配符:

bash-4.3$ tree
.
├── 10.jpg
└── subfolder
    ├── 5.jpg
    └── another_subfolder
        └── 15.jpg

2 directories, 3 files
bash-4.3$ shopt -s globstar
bash-4.3$ rm ./**/*.jpg
bash-4.3$ tree
.
└── subfolder
    └── another_subfolder

相关内容