디렉토리에서 이름은 같지만 확장자가 다른 파일을 찾는 방법은 무엇입니까? 또한 일부 확장 프로그램을 제한하시겠습니까?

디렉토리에서 이름은 같지만 확장자가 다른 파일을 찾는 방법은 무엇입니까? 또한 일부 확장 프로그램을 제한하시겠습니까?

디렉토리에서 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 *

관련 정보