如果特定值位于另一个字段中,则解析字段的awk
在下面的如果特定值位于另一个字段中,则解析字段的awk,awk,Awk,在下面的awk中,仅当$3是一个特定的值(ID)时,我才尝试使用\ucode>解析$2。我正在将解析后的值读入数组,并将其用作查找中的键。虽然执行了awk,但是$3中的整个第2行或带有ID的行并不仅仅打印所需的内容。print语句仅用于查看结果(仅用于测试),不属于脚本的一部分。谢谢:) awk awk -F'\t' '$3=="ID" f="$(echo $2|cut -d_ -f1,1)" { print $f
awk
中,仅当$3
是一个特定的值(ID)时,我才尝试使用\ucode>解析$2
。我正在将解析后的值读入数组,并将其用作查找中的键。虽然执行了awk
,但是$3
中的整个第2行或带有ID
的行并不仅仅打印所需的内容。print语句仅用于查看结果(仅用于测试),不属于脚本的一部分。谢谢:)
awk
awk -F'\t' '$3=="ID"
f="$(echo $2|cut -d_ -f1,1)"
{
print $f
}' file
文件制表符分隔
R_Index locus type
17 chr20:31022959 NON
18 chr11:118353210-chr9:20354877_KMT2A-MLLT3.K8M9 ID
所需的
$f = chr11:118353210-chr9:20354877
不太清楚,请你试试下面的
awk '{split($2,array,"_");if(array[2]=="KMT2A-MLLT3.K8M9"){print array[1]}}' Input_file
或者,如果您想在打印所有行的同时更改第二个字段的值,请尝试以下操作一次
awk '{split($2,array,"_");if(array[2]=="KMT2A-MLLT3.K8M9"){$2=array[1]}} 1' Input_file
非常感谢:)。