String 比较字符串差异的awk命令

String 比较字符串差异的awk命令,string,awk,String,Awk,我有一个gz文件,其中包含$12和$33中的值,其中包含字符串(例如$12:33-A和$33:33A),我试图创建一个awk命令来读取这些值并计算“-”在$12中而不是在$13中的次数 我有:gzcat test.gz | awk'{if($12!=$33&&$12~/-/&&&$33!~/-/-)wc-l;else null}wc-l' 但是这个命令似乎不起作用,也没有给我想要的结果 不需要单独检查等式,因为它是隐含的,并且不需要使用wc,awk能够计数 ... | awk '$12~/-/

我有一个gz文件,其中包含$12和$33中的值,其中包含字符串(例如$12:33-A和$33:33A),我试图创建一个awk命令来读取这些值并计算“-”在$12中而不是在$13中的次数

我有:
gzcat test.gz | awk'{if($12!=$33&&$12~/-/&&&$33!~/-/-)wc-l;else null}wc-l'


但是这个命令似乎不起作用,也没有给我想要的结果

不需要单独检查等式,因为它是隐含的,并且不需要使用
wc
awk
能够计数

... | awk '$12~/-/ && $33!~/-/{count++} END{print count+0}'

另外,您的脚本不是有效的
awk
脚本。字段
33
13

不需要单独检查相等性,因为它是隐含的,并且不需要使用
wc
awk
能够计数

... | awk '$12~/-/ && $33!~/-/{count++} END{print count+0}'

另外,您的脚本不是有效的
awk
脚本。另外,字段
33
13

在您的问题中添加一个带有两列的示例数据文件,该文件显示您的程序(即非压缩的两列版本的程序)失败,并告诉我们您期望的结果。嗯,字符串“33-a”在
$12~/-/
中不匹配,因为连字符前面没有空格…请在问题中添加一个包含两列的示例数据文件,该文件显示您的程序(即非压缩的两列版本的程序)失败,并告诉我们您期望的结果。嗯,字符串“33-a”在
$12~/-/
中不匹配,因为在连字符之前没有空格…很高兴了解更多关于awk的功能,谢谢你的回答<代码>打印计数+0确保即使没有差异也能输出数字。很高兴了解更多关于awk功能的信息,谢谢您的回答<代码>打印计数+0以确保即使没有差异也能输出数字。