正則表達式正在與shell腳本罰款,在不同的thread問的我,但是當我使用echo命令作爲正則表達式 - 驗證IPv6地址
echo "2001:0Db8:85a3:0000:8a2e:0370:7334" | grep "^([0-9a-fA-F]{0,4}:){1,7}([0-9a-fA-F]){0,4}$"
沒有輸出和echo $?
回報
Do正則表達式不適用於echo/grep?
正則表達式正在與shell腳本罰款,在不同的thread問的我,但是當我使用echo命令作爲正則表達式 - 驗證IPv6地址
echo "2001:0Db8:85a3:0000:8a2e:0370:7334" | grep "^([0-9a-fA-F]{0,4}:){1,7}([0-9a-fA-F]){0,4}$"
沒有輸出和echo $?
回報
Do正則表達式不適用於echo/grep?
您在此處使用ERE POSIX語法。使用-E
選項可使grep
使用POSIX ERE。
或者逃避(
和)
和{
和}
,使圖案與POSIX BRE兼容:
echo "2001:0Db8:85a3:0000:8a2e:0370:7334" | grep "^\([0-9a-fA-F]\{0,4\}:\)\{1,7\}[0-9a-fA-F]\{0,4\}$"
用途:'回聲「2001:將0db8:85±3:0000:8a2e :0370:7334「| grep -E「^([0-9a-fA-F] {0,4}:){1,7}([0-9a-fA-F]){0,4} $」'用於擴展正則表達式支持'grep'中的'grep' – anubhava