Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
awk+;如何在awk命令中执行或操作_Awk - Fatal编程技术网

awk+;如何在awk命令中执行或操作

awk+;如何在awk命令中执行或操作,awk,Awk,我有以下文件 your Answer = AA your Answer = AB your Answer = CD your Answer = XY your Answer = DD 为了验证所有答案,我运行以下awk echo "your Answer = AA" | awk '/= AA/{print " passed "}' echo "your Answer = AA" | awk '/= AB/{print " passed "}' echo "yo

我有以下文件

your  Answer  = AA
your  Answer  = AB
your  Answer  = CD
your  Answer  = XY 
your  Answer  = DD
为了验证所有答案,我运行以下awk

echo "your  Answer  = AA" |  awk '/= AA/{print " passed "}'
echo "your  Answer  = AA" |  awk '/= AB/{print " passed "}'
echo "your  Answer  = AA" |  awk '/= CD/{print " passed "}'
echo "your  Answer  = AA" |  awk '/= XY/{print " passed "}'
echo "your  Answer  = AA" |  awk '/= DD/{print " passed "}'
我的问题:如何在pleace中的一个awk命令上执行相同的操作以运行5个awk命令

回声“你的答案=AA”| awk'/=AA | AB | CD | XY | DD/{打印“通过”}”


试试这样的方法。

你很接近了:你只需要把候补者放在一个组中,这样等号就一直在那里:

echo "your Answer = AA" | awk '/= (AA|AB|CD|XY|DD)/ {print " passed "}'

不好,因为echo“blabla=blablaaa”| awk-F“=”$2~/A[AB]|[CD]D | XY/{print“passed”}也通过了打印,在这种情况下,它必须是不通过打印的,因为在“=”之后我们有blabla而不是AA,请给出建议?这是因为AA现在不是字段2($2)。如果你的成绩到处都是,使用$0.not good“echo”param1 param2 param3=param1 AA“| awk-F”=“$0~/AA | AB/{print“passed”}”,它也会被打印通过?OR规则在哪里?如果我在“=”到AA或AB之间有空格,那么sintax是OR(value1,value2),空格并不重要。
or(echo "your  Answer  = AA",echo "your  Answer  = AA") | awk '/= AA/{print " passed "}'
echo "your Answer = AA" | awk '/= (AA|AB|CD|XY|DD)/ {print " passed "}'