awk命令中的两个变量

时间:2011-10-18 22:14:08

标签: variables awk

基本上我想根据染色体编号(chr1,chr2,chr3 ......)拆分lib1.vh。 但似乎在awk命令中有两个变量,它不起作用..

Plz见下文:

cd /home/xug/scratch/mrfast/NA12891/
CHROM_NAME=`head -$c list_chr|tail -1`

cat lib1.vh|awk '{if ($2==$CHROM_NAME) print}'

那我该怎么办? THX

大家好: 我这样做,它的确有效!

cat lib1.vh|awk -v src=$CHROM_NAME '{if ($2==src) print}' > lib1_$CHROM_NAME.vh

2 个答案:

答案 0 :(得分:1)

环境变量显示为ENVIRON关联数组的元素。而不是:

$CHROM_NAME

你想要:

ENVIRON["CHROM_NAME"]

答案 1 :(得分:1)

CHROM_NAME是一个 shell 变量,但'single quoted strings'没有获得shell变量。

也许你的意思是:

cd /home/xug/scratch/mrfast/NA12891/
CHROM_NAME=`head -$c list_chr|tail -1`

cat lib1.vh|awk "{if (\$2==$CHROM_NAME) print}"