小编mik*_*ike的帖子

在 AWK 中检查大写,范围 [AZ] 不起作用

我有以下 bash 脚本:

cat test | awk '/^[A-Z]/ {print NF}'
Run Code Online (Sandbox Code Playgroud)

假设测试内容如下:

This one yes
this one no
This one yes
this one no
Run Code Online (Sandbox Code Playgroud)

原则上它应该打印第一行和第三行的字段数,因为我正在寻找以大写字符开头的行。但是,结果是打印文件中所有行的字段数。如果我尝试使用相同的正则表达式 grep,结果就是我所期望的。

另外,如果我不写 [AZ],而是写 [[:upper:]] ,则脚本可以完美运行。

我的问题是:为什么在第一种情况下它不起作用?

regex bash awk

4
推荐指数
1
解决办法
1713
查看次数

标签 统计

awk ×1

bash ×1

regex ×1