Shell 条件表达式的正则匹配
生活随笔
收集整理的這篇文章主要介紹了
Shell 条件表达式的正则匹配
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Shell 編程中,我們可以使用雙中括號運算符 [[]] 和 =~ 來判斷字符串是否匹配給定的正則表達式,例如匹配以 lvlv 結(jié)尾的字符串:
filelist="lvlvcheck dablelvlv checklvlv"
for file in $filelist
do if [[ $file =~ lvlv$ ]]thenecho $filefi
done
腳本運行輸出:
dablelvlv
checklvlv
注意事項:if [[ $file =~ lvlv$ ]] 中注意有五個空格,而且正則表達式不能使用單引號或者雙引號,否則會被當做普通字符串。
這里要吐槽一下,Shell 真的很強大,但是語法又過于苛刻晦澀,少一個空格有時都能讓人抓狂,所以書寫時要多加留意,嚴格遵循 Shell 語法要求。
如果想使 Shell if 不匹配指定的正則表達式,可以使用 Shell 的邏輯非運算符感嘆號!,同時還是要注意添加5個空格,示例如下:
if [[ ! $file =~ check$ ]]
參考文獻
[1] Shell 特殊字符大全
總結(jié)
以上是生活随笔為你收集整理的Shell 条件表达式的正则匹配的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 测试手机屏幕显示,触摸
- 下一篇: OPPO手机可以分屏吗