ディレクトリ内の名前は同じですが、拡張子が別のファイルを見つける方法は?また、一部の拡張機能を制限しますか?

ディレクトリ内の名前は同じですが、拡張子が別のファイルを見つける方法は?また、一部の拡張機能を制限しますか?

ディレクトリ内の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 *

おすすめ記事