regex – awk reg exp中的curly braces

前端之家收集整理的这篇文章主要介绍了regex – awk reg exp中的curly braces前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图在awk中使用花括号匹配固定数量的数字但我得不到结果.
# This outputs nothing
echo "123" | awk '/^[0-9]{3}$/ {print $1;}' 

# This outputs 123
echo "123" | awk '/^[0-9]+$/ {print $1;}'

我是否需要做一些特定的事情来使用花括号?

解决方法

Mac OS X awk(BSD awk)使用显示的第一个命令:
$echo "123" | /usr/bin/awk '/^[0-9]{3}$/ {print $1;}' 
123
$

GNU awk没有.添加反斜杠对GNU awk没有帮助.使用选项–re-interval确实如此,使用–posix也是如此.

$echo "123" | /usr/gnu/bin/awk --re-interval '/^[0-9]{3}$/ {print $1;}' 
123
$echo "123" | /usr/gnu/bin/awk --posix '/^[0-9]{3}$/ {print $1;}' 
123
$

(我不确定1996年的1.3.3 mawk来自哪里,但现在可能是时候为你的机器获得awk的更新版本.)

原文链接:https://www.f2er.com/linux/393072.html

猜你在找的Linux相关文章