Bash AWK打印如果发现三个匹配项,一个为假
文件中有几行类似于:Bash AWK打印如果发现三个匹配项,一个为假,bash,awk,sed,grep,Bash,Awk,Sed,Grep,文件中有几行类似于: A B C H A B C D 并且,我要打印包含以下内容的所有行: /A\tB/ 但是,如果第四个字段中的行包含和H,则不打印,输出为: A B C D 它可以用sed、awk或grep写成一行 我只知道: awk '/^A\tB/' 用这个 awk '/^A\tB/ { if ( $4 != "H" ) print }' 用这个 awk '/^A\tB/ { if ( $4 != "H" ) print }' 对于awk单
A B C H
A B C D
并且,我要打印包含以下内容的所有行:
/A\tB/
但是,如果第四个字段中的行包含和H,则不打印,输出为:
A B C D
它可以用sed、awk或grep写成一行
我只知道:
awk '/^A\tB/'
用这个
awk '/^A\tB/ { if ( $4 != "H" ) print }'
用这个
awk '/^A\tB/ { if ( $4 != "H" ) print }'
对于awk单衬套:
awk -F'\t' '$1=="A" && $2=="B" && $4!="H"' file
-F'\t'-tab char\t被视为字段分隔符
输出:
A B C D
对于awk单衬套:
awk -F'\t' '$1=="A" && $2=="B" && $4!="H"' file
-F'\t'-tab char\t被视为字段分隔符
输出:
A B C D
这将有助于:
awk '$1$2 == "AB" && $4 != "H"' file
如果所有条目都是单个字符,则也可以:
awk '$1$2$3$4 ~ /^AB.[^H]/' file
这将有助于:
awk '$1$2 == "AB" && $4 != "H"' file
如果所有条目都是单个字符,则也可以:
awk '$1$2$3$4 ~ /^AB.[^H]/' file
这可能适用于GNU sed:
sed '/^A\tB\t.\t[^H]/!d' file
如果一行不包含a、B、任何字符和除H以外的由制表符分隔的字符,请将其删除
可以这样写:
sed -n '/^A\tB\t.\t[^H]/p' file
这可能适用于GNU sed:
sed '/^A\tB\t.\t[^H]/!d' file
如果一行不包含a、B、任何字符和除H以外的由制表符分隔的字符,请将其删除
可以这样写:
sed -n '/^A\tB\t.\t[^H]/p' file
输入错误,'应该在最后一个之后}。。。可以简化第二列awk'/^A\tB\t/&&$4!=H'@Sundeep好的。谢谢你,'应该在最后一次之后。}。。。可以简化第二列awk'/^A\tB\t/&&$4!=好的,谢谢