我有一个姓名和 ID 列表(50 个条目)
cat input.txt
name ID
Mike 2000
Mike 20003
Mike 20002
还有一个巨大的压缩文件(13GB)
zcat clients.gz
name ID comment
Mike 2000 foo
Mike 20002 bar
Josh 2000 cake
Josh 20002 _
我的预期输出是
NR name ID comment
1 Mike 2000 foo
3 Mike 20002 bar
每个$1"\t"$2
clients.gz 都是一个唯一标识符。input.txt
中可能缺少一些条目clients.gz
。因此,我想将 NR 列添加到我的输出中以找出丢失的内容。我想使用 zgrep。awk 需要很长时间(因为我必须zcat
解压缩我假设的压缩文件?)
我知道那zgrep 'Mike\t2000'
行不通。我想我可以用 awk FNR 解决 NR 问题。
到目前为止,我有:
awk -v q="'"
'
NR > 1 {
print "zcat clients.gz | zgrep -w $" q$0q
}' input.txt |
bash > subset.txt