![디렉토리에서 이름은 같지만 확장자가 다른 파일을 찾는 방법은 무엇입니까? 또한 일부 확장 프로그램을 제한하시겠습니까?](https://linux55.com/image/167386/%EB%94%94%EB%A0%89%ED%86%A0%EB%A6%AC%EC%97%90%EC%84%9C%20%EC%9D%B4%EB%A6%84%EC%9D%80%20%EA%B0%99%EC%A7%80%EB%A7%8C%20%ED%99%95%EC%9E%A5%EC%9E%90%EA%B0%80%20%EB%8B%A4%EB%A5%B8%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EC%B0%BE%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F%20%EB%98%90%ED%95%9C%20%EC%9D%BC%EB%B6%80%20%ED%99%95%EC%9E%A5%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8%EC%9D%84%20%EC%A0%9C%ED%95%9C%ED%95%98%EC%8B%9C%EA%B2%A0%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
디렉토리에서 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 *