编辑 find 命令以排除文件

编辑 find 命令以排除文件

所以我写了这个脚本使用 Handbrake 递归转换视频

它使用这个命令作为选项

find . -name '*.mkv' -exec rm -r {} \;

但是我制作了这个新脚本,用于递归删除音频流删除视频的音频流 - 递归地,无需使用 FFMPEG 转换音频或视频

但是我想添加一个选项来删除所有*.mkv文件,除了那些*FINAL.mkv因为我的第二个脚本对这些文件使用的输出之外。

有人可以快速帮助我吗,我不太擅长编码,但我可以很好地操作它并理解它:P

答案1

要以递归方式删除所有mkv文件,FINAL.mkv您可以执行以下操作:

find . -type f -not -name '*FINAL.mkv' -name '*.mkv' -delete
  • 用于-type f仅搜索文件

  • -name '*.mkv'将获取所有.mkv文件

  • -not -name '*FINAL.mkv'将忽略所有*FINAL.mkv文件

  • -delete将删除找到的文件。

首先,还要进行如下试运行,检查一切是否正常:

find . -type f -not -name 'FINAL.mkv' -name '*.mkv'

相关内容