if 语句中带星号的错误
An error with asterisk in if statement
我在使用以下代码时遇到问题:
nawk -F "," '{if(<=2)&&(!=45)&&(==2348*)) print }' abc12* | wc -l
错误在(==2348*)
。我试图将这个数字放在变量 x
中并执行 (==$x*)
.
如果你的意思是正则表达式匹配,请将其更改为
$ awk -F, '<=2 && !=45 && ~/^2348/ {c++; print } END{print c}' abc12*
请注意,您也可以在脚本中加入行数。
如果你想要平等检查 =="2348*"
就可以了。将检查该字段字面上的 2348*
没有 *
.
的任何特殊含义
您似乎打算使用正则表达式?
==2348*
应该给你一个语法错误
2348*
是不完全乘法。
对于正则表达式匹配,您必须使用
~ /2348*/
如果您打算从零到人“8”或
~ /2348.*/ or may be ~ /2348[0-9]*/
如果初始意图是在“2348”之后有任何字符或只有数字
我认为如果您不比预期多添加一个“)”,您的代码就可以正常工作。如果你数一数你有 7.... 所以这个 (==2348*))
实际上应该是 (==2348*)
我在使用以下代码时遇到问题:
nawk -F "," '{if(<=2)&&(!=45)&&(==2348*)) print }' abc12* | wc -l
错误在(==2348*)
。我试图将这个数字放在变量 x
中并执行 (==$x*)
.
如果你的意思是正则表达式匹配,请将其更改为
$ awk -F, '<=2 && !=45 && ~/^2348/ {c++; print } END{print c}' abc12*
请注意,您也可以在脚本中加入行数。
如果你想要平等检查 =="2348*"
就可以了。将检查该字段字面上的 2348*
没有 *
.
您似乎打算使用正则表达式?
==2348*
应该给你一个语法错误
2348*
是不完全乘法。
对于正则表达式匹配,您必须使用
~ /2348*/
如果您打算从零到人“8”或
~ /2348.*/ or may be ~ /2348[0-9]*/
如果初始意图是在“2348”之后有任何字符或只有数字
我认为如果您不比预期多添加一个“)”,您的代码就可以正常工作。如果你数一数你有 7.... 所以这个 (==2348*))
实际上应该是 (==2348*)