如何在目录中查找同名但扩展名不同的文件?还限制一些扩展?

如何在目录中查找同名但扩展名不同的文件?还限制一些扩展?

我尝试在目录中查找仅具有 mp4 mkv 扩展名的文件。但我也希望这些找到的文件具有相同的名称,但扩展名不同。例如:video.mp4 video.mkv。我尝试限制我想要的扩展,如下所示,但我无法完成其余的操作:

for i in *
    do
        case "${i##*.}" in
            [mM][kK][vV])
            FFmpegForCompressAutomaticJob
            ;;
            [mM][pP]4)
            FFmpegForCompressAutomaticJob
            ;;
            *)
            continue
            ;;
        esac
    done

答案1

您可以创建一个函数(如果您愿意,也可以创建一个脚本)。

processor() {
  for f; do
    [ -f "$f" ] || continue
    case $f in
      *.[mM][kK][vV])
        echo "converting $f"
        : Do something here ;;
      *.[mM][pP]4)
        echo "converting $f"
        : Do another thing here ;;
      *.???)
        echo "Found $f" ;;
    esac
  done
}

现在在目录中尝试一下

processor *

相关内容