在BASH中如何判断字符串是否包含另一个字符串,忽略大写或小写。
示例:
if [[ $FILE == *.txt* ]]
then
let FOO=1;
fi
无论$ FILE的值是高,低还是混合,我都希望这句话是真实的。
答案 0 :(得分:1)
在使用FILE
进行测试之前,一种方法是将lower-case
转换为tr
:
lowerFILE="$( tr [A-Z] [a-z] <<<"$FILE" )"
if [[ $lowerFILE == *.txt* ]]
then
let FOO=1;
fi
示例:强>
#!/bin/bash
for FILE in this.TxT that.tXt other.TXT; do
lowerFILE="$( tr [A-Z] [a-z] <<<"$FILE" )"
[[ $lowerFILE == *.txt* ]] && echo "FILE: $FILE ($lowerFILE) -- Matches"
done
<强>输出:强>
FILE: this.TxT (this.txt) -- Matches
FILE: that.tXt (that.txt) -- Matches
FILE: other.TXT (other.txt) -- Matches