Regex awk支持量词吗?我想要[0-9]{6,6}

Regex awk支持量词吗?我想要[0-9]{6,6},regex,awk,Regex,Awk,gawk似乎不匹配六位数字段,或者使用{n,m}量词的n位数字段 它确实匹配[0-9][0-9][0-9][0-9][0-9][0-9][0-9]ok 似乎也不支持\d\d\d\d\d 我是否需要打开extended reg-ex,还是它不支持 Tnx您需要指定“--re interval”(或“-W re interval”)标志以利用此行为 echo 12345 | gawk --re-interval '/[0-9]{5}/{print}{}' 12345 echo 12345 | gaw

gawk似乎不匹配六位数字段,或者使用{n,m}量词的n位数字段

它确实匹配[0-9][0-9][0-9][0-9][0-9][0-9][0-9]ok

似乎也不支持\d\d\d\d\d

我是否需要打开extended reg-ex,还是它不支持

Tnx

您需要指定“
--re interval
”(或“
-W re interval
”)标志以利用此行为

echo 12345 | gawk --re-interval '/[0-9]{5}/{print}{}'
12345
echo 12345 | gawk --re-interval '/[0-9]{6}/{print}{}'
<no output>
echo 12345 | gawk--re interval'/[0-9]{5}/{print}{}
12345
echo 12345 | gawk--re interval'/[0-9]{6}/{print}{}

对Pax的响应进行最小限度的扩展,
--posix
也支持这种行为。另外,gawk不支持字符类转义(如
\d
),但它支持
[[:digit:]]
语法,这是正确的。

抱歉,我没有看到您也回答了关于转义字符的第二部分。谢谢