2つの字幕をマージするスクリプトを作成しようとしています。
file.srt
file.forced.srt
file2.srt
file2.Forced.srt
2つの強制字幕は大文字と小文字を区別せずに一致します。
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
。