Bash/Shell 脚本查找所有文件,包括关键字和特定文件类型

Bash/Shell script find all files including keyword and of specific file type

我如何使用 find 查找特定类型的所有文件,例如'*.mp3' 但特别是具有任何名称(包括关键字)的所有文件。例如'black'

所有这些文件都适用:

    - blackDog.mp3
    - black dog.mp3
    - black rain.mp3
    - blackness.mp3
    - BlAcK.mp3
    - black.dog.mp3
    - black-dog.mp3

这是我的代码,可以找到所有 '*.mp3' 文件,但我找不到用包含关键字 'black'.

的任何名称编写所有 mp3 的方法
find ~/Desktop \( -type f -iname '*.mp3' \) -print0 |
while IFS= read -r -d '' f;
do mv -- "$f" ~/Music ;
done

非常感谢您能给我的任何帮助,如有任何疑问,请在下方评论:

应该这样做:

find ~/Desktop -type f -iname '*black*.mp3' -exec mv -- {} ~/Music \;

文件名模式 *black*.mp3 匹配任何包含 black 并以 .mp3 结尾的文件名。