2
不工作鉴于这种猛砸代码:期通配符猛砸模式替换
TEMP="1_2"
echo ${TEMP/_.*/}
为什么它打印出来1_2
,而不是1
?
我也尝试过这些,但他们不工作:
echo ${TEMP/_\.*/}
echo ${TEMP/_\\.*/}
这并不工作:
echo ${TEMP/_[0-9]*/}
,但我想知道:
- 为什么ISN作为通配符的时期?
- 我应该用什么来代替?
我看到,它使用文件通配符,而不是正则表达式。混乱。 –
@AdamCrume:好吧,它* globbing *,但我不会称之为“文件通配”。 –
请注意,Bash还可以使用=〜匹配运算符在[[...]]内部支持正则表达式。 – cdarke