简体   繁体   English

在部分字符上使用awk

[英]using awk on part of characters

I'm trying to do awk to look for part of characters . 我正在尝试awk来查找字符的一部分。

cat myfile.txt

SIFT    POLD    POLH    LRT     MT      MA
T       B       B       N       P       N
null    null    null    null    null    null
null    null    null    null    null    null
T;.;.;.;.;.     B       B       N       P       N
D       P       B       D       D       M
T       B       B       N       P       N
T;T;T;. B       B       N       P;P;P   N
D;.     P       B       N       P;P     .
T;.     B       B       N       P;P     .

In this example I want to get lines with SIFT = T (including "T;T;T;.") ; 在此示例中,我想获得SIFT = T的行(包括“ T; T; T ;.”); POLD = B; POLD = B; POLH = B; POLH = B; LRT = N; LRT = N; MT = P, MA = N MT = P,MA = N

I would normally used awk to do the job , eg 我通常会用awk做这项工作,例如

awk -F'\t' '$1=="T" && $2=="B" && $3=="B" && $4=="N" && $5=="P" && $6=="N" myfile.txt 

However, the command above will exclude "T;T;T;." 但是,上面的命令将排除“ T; T; T;”。 in column 1. How can I include this too? 在第1栏中。

You can use awk like below 您可以使用如下的awk

$ awk '$1 ~ /T/' file
SIFT    POLD    POLH    LRT     MT      MA
T       B       B       N       P       N
T;.;.;.;.;.     B       B       N       P       N
T       B       B       N       P       N
T;T;T;. B       B       N       P;P;P   N
T;.     B       B       N       P;P     .

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM