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的更新版本.)

相关文章

1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...
如何抑制stable_secret读取关键的“net.ipv6.conf.all.stabl...
1 删除0字节文件 find -type f -size 0 -exec rm -rf {} ...
## 步骤 1:安装必要的软件包 首先,需要确保系统已安装 `dh...