두 개의 자막을 병합하는 스크립트를 만들려고합니다.
file.srt
file.forced.srt
file2.srt
file2.Forced.srt
두 강제 자막을 일치시키기 위해 대소 문자를 구분하지 않습니다.
shopt -s extglob
shopt -s nocaseglob
for file in "${1%/}/"*forced.srt; do
echo File: "$file"
done
파일 이름에서 강제 문자열을 제거하는이 코드가 있으므로 스크립트에서 사용할 일치하는 파일을 얻습니다.
subs=${file//.Forced/}
forced
대소 문자를 구분하지 않고 변수 에서이 문자열 을 제거하려면 어떻게 해야합니까?
(단지) 대신 여기에 쉘 옵션 이 필요 합니다nocasematch
nocaseglob
.
는 IF
nocasematch
쉘 옵션 (에 shopt 내부의 설명을 참조 shopt 내부 기본 제공된를 ) 활성화, 경기는 알파벳 문자의 대소 문자에 관계없이 수행됩니다.
nocaseglob
(for 루프에서 사용한 것처럼) 진정한 파일 이름 확장만을위한 것이지만 패턴 일치가 발생하는 다른 장소에는 적용되지 않습니다. 사용 사례의 경우 파일 이름 확장과 패턴 일치 가 모두 수행 하도록 실제로 둘 다 활성화해야합니다.
하나의 자리에 만 두 문자를 들어, 당신이 사용할 수있는 [Ff]
모두 일치 F
하고 f
있다합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다