不像grep
我不能在`awk.d'中定义数字字符类的大小/范围。任何正确方向的线索都值得赞赏。
cat input
1abc
12abc
123abc
1234abc
12345abc
在grep
我可以定义数字字符类的大小/长度
grep -P '^\d{3,4}' input #or grep -P '^[[:digit:]]{3,4}' input
123abc
1234abc
12345abc
grep -P '^\d{4,}' input #or grep -P '^[[:digit:]]{4,}' input
1234abc
12345abc
现在我想用 awk 来做这件事,但同样的正则表达式不起作用。
例如以下命令不提供任何输出。
awk '/^[[:digit:]]{3,4}/' input
awk '/^([[:digit:]]){3,4}/' input
我期待上面的命令打印
123abc
1234abc
12345abc
注意 1:目前我正在使用定义范围,但对于大范围来说并不好。
awk '/^[0-9][0-9]?[0-9]?/' input
笔记2:
awk --version |head -1
GNU Awk 3.1.7