두 개의 자막을 병합하는 스크립트를 만들려고 합니다.
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
내 변수에서 이 문자열을 대소문자를 구분하지 않고 제거하려면 어떻게 해야 합니까 ?
답변1
당신이 원하는주택 nocasematch
옵션대신 여기에 (만) nocaseglob
:
nocasematch
쉘 옵션(shopt의 설명 참조 )내장 매장) 활성화 시 영문자의 대소문자 구분 없이 일치를 수행합니다.
nocaseglob
실제 파일 이름 확장(예: for 루프에서 사용하는 확장)에만 작동하지만 패턴 일치가 발생하는 다른 곳에서는 작동하지 않습니다. 실제로 필요한 사용 사례의 경우둘 다파일 이름 확장과 패턴 일치를 모두 수행할 수 있도록 활성화됩니다.
그 자리에 있는 두 캐릭터에게만,당신은 그것을 사용할 수 있습니다 [Ff]
F
둘 다 일치합니다 f
.