使用bash查询大制表符分隔文件

沙欣

我有一个名称和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"$2client.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
埃德·莫顿
$ cat tst.awk
BEGIN { FS=OFS="\t" }
{ key = $1 FS $2 }
NR == FNR { map[key] = (NR>1 ? NR-1 : "NR"); next }
key in map { print map[key], $0 }

$ zcat clients.gz | awk -f tst.awk input.txt -
NR      name    ID      comment
1       Mike    2000    foo
3       Mike    20002   bar

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从配置单元查询创建以制表符分隔的文件?

来自分类Dev

使用gawk就地更新制表符分隔的文件

来自分类Dev

使用getchar()读取制表符分隔的文件

来自分类Dev

使用Python读取Hadoop中制表符分隔的文件

来自分类Dev

使用Python解析制表符或空格分隔的文件

来自分类Dev

无法使用dlmread读取整个制表符分隔的文件

来自分类Dev

按键合并制表符分隔的文件

来自分类Dev

解析制表符分隔文件的策略

来自分类Dev

如何合并制表符分隔的文件?

来自分类Dev

awk:遍历制表符分隔的文件

来自分类Dev

循环非制表符分隔的文件

来自分类Dev

将使用空格分隔符的txt文件转换为制表符分隔符

来自分类Dev

使用制表符分隔的proc导入

来自分类Dev

打开非常大的制表符分隔值(tsv)文件(1.09 GB)

来自分类Dev

Bash创建带有特定列名的制表符分隔文件

来自分类Dev

使用未转义的换行符清洁制表符分隔的文件

来自分类Dev

如何在Netezza NZSQL中使用制表符分隔符输出文件

来自分类Dev

使用未转义的换行符来清洁制表符分隔的文件

来自分类Dev

使用phpexcel逗号或制表符分隔符读取文本文件

来自分类Dev

计数来自txt文件的矩阵,使用grep -c来制表符分隔的文件吗?

来自分类Dev

如何使用cut使制表符成为分隔符?

来自分类Dev

如何使用cut使制表符成为分隔符?

来自分类Dev

使用python将2d字典写入数据框或制表符分隔的文件

来自分类Dev

使用Laravel将经过验证的制表符分隔文件导入MySQL

来自分类Dev

Python / SQL:使用从制表符分隔的文件中提取的变量创建表名

来自分类Dev

如何使用split对制表符分隔文件中的列总数进行总计(列数未知)?

来自分类Dev

使用熊猫read_csv读取此制表符分隔的文件时,行丢失

来自分类Dev

使用Powershell编辑制表符分隔的文本文件中的列

来自分类Dev

使用awk将制表符分隔的文本文件中的两列相乘

Related 相关文章

  1. 1

    如何从配置单元查询创建以制表符分隔的文件?

  2. 2

    使用gawk就地更新制表符分隔的文件

  3. 3

    使用getchar()读取制表符分隔的文件

  4. 4

    使用Python读取Hadoop中制表符分隔的文件

  5. 5

    使用Python解析制表符或空格分隔的文件

  6. 6

    无法使用dlmread读取整个制表符分隔的文件

  7. 7

    按键合并制表符分隔的文件

  8. 8

    解析制表符分隔文件的策略

  9. 9

    如何合并制表符分隔的文件?

  10. 10

    awk:遍历制表符分隔的文件

  11. 11

    循环非制表符分隔的文件

  12. 12

    将使用空格分隔符的txt文件转换为制表符分隔符

  13. 13

    使用制表符分隔的proc导入

  14. 14

    打开非常大的制表符分隔值(tsv)文件(1.09 GB)

  15. 15

    Bash创建带有特定列名的制表符分隔文件

  16. 16

    使用未转义的换行符清洁制表符分隔的文件

  17. 17

    如何在Netezza NZSQL中使用制表符分隔符输出文件

  18. 18

    使用未转义的换行符来清洁制表符分隔的文件

  19. 19

    使用phpexcel逗号或制表符分隔符读取文本文件

  20. 20

    计数来自txt文件的矩阵,使用grep -c来制表符分隔的文件吗?

  21. 21

    如何使用cut使制表符成为分隔符?

  22. 22

    如何使用cut使制表符成为分隔符?

  23. 23

    使用python将2d字典写入数据框或制表符分隔的文件

  24. 24

    使用Laravel将经过验证的制表符分隔文件导入MySQL

  25. 25

    Python / SQL:使用从制表符分隔的文件中提取的变量创建表名

  26. 26

    如何使用split对制表符分隔文件中的列总数进行总计(列数未知)?

  27. 27

    使用熊猫read_csv读取此制表符分隔的文件时,行丢失

  28. 28

    使用Powershell编辑制表符分隔的文本文件中的列

  29. 29

    使用awk将制表符分隔的文本文件中的两列相乘

热门标签

归档