awk正则表达式重复的字符

时间:2015-08-27 08:36:24

标签: regex awk nawk

我正在尝试匹配字符串中的重复模式。我知道我可以使用/^[0-9]{5}$/ 至少在perl中,但这似乎不适用于awk或nawk(没有安装gawk)。

除了/^[0-9][0-9][0-9][0-9][0-9]$/以外的其他选择吗?

修改

echo "AAB" > test

script.awk:

#!/usr/bin/nawk -f
BEGIN {}
/^A\{2,2\}/ { print "1"; }
/^A/ { print "2"; }
/A\{2,2\}/ { print "3"; }
/A{2,2}/ { print "4"; }
END {}

./script.awk test

仅输出(awk或nauk):

2

1 个答案:

答案 0 :(得分:1)

Solaris上的默认awk是旧的,破坏的awk,任何人都不应该出于任何原因使用它。 nawk比/ usr / bin / awk要好得多,但仍然是一个非常古老的非POSIX awk,因此不支持RE间隔。几乎任何其他awk都可以工作。在Solaris上如果你没有并且无法安装GNU awk,那么使用/ usr / xpg4 / bin / awk因为它非常接近POSIX兼容并且支持RE间隔。