我有很多 GB+ 大小的 gz 档案,由于磁盘空间原因我无法解压。每个存档都有一个特定的标识号(例如 test365.gz)和如下结构:
1 1 2 1
########## Name: ZINC000077407198
@<TRIPOS>MOLECULE
ZINC000077407198 none
@<TRIPOS>ATOM
1 C1 5.7064 -2.3998 -12.0246 C.3 1 LIG1 -0.1500
@<TRIPOS>BOND
1 1 2 1
########## Name: ZINC000099999999
@<TRIPOS>MOLECULE
ZINC000099999999 none
@<TRIPOS>ATOM
1 C1 -2.0084 -5.2055 -12.9609 C.3 1 LIG1 -0.1500
@<TRIPOS>BOND
1 1 2 1
########## Name: ZINC000077402345
@<TRIPOS>MOLECULE
ZINC000077402345 none
@<TRIPOS>ATOM
1 C1 6.5657 -1.5531 -15.3414 C.3 1 LIG1 -0.1500
@<TRIPOS>BOND
1 1 2 1
########## Name: ZINC000077407198
@<TRIPOS>MOLECULE
ZINC000077407198 none
@<TRIPOS>ATOM
1 C1 3.6696 -1.8305 -14.6766 C.3 1 LIG1 -0.1500
@<TRIPOS>BOND
1 1 2 1
########## Name: ZINC000012345678
@<TRIPOS>MOLECULE
ZINC000012345678 none
@<TRIPOS>ATOM
1 C1 4.5368 -0.8182 -17.4314 C.3 1 LIG1 -0.1500
@<TRIPOS>BOND
1 1 2 1
########## Name: ZINC000077407100
@<TRIPOS>MOLECULE
ZINC000077407100 none
@<TRIPOS>ATOM
1 C1 1.4756 -2.2562 -14.0852 C.3 1 LIG1 -0.1500
@<TRIPOS>BOND
1 1 2 1
########## Name: ZINC000077407198
@<TRIPOS>MOLECULE
ZINC000077407198 none
@<TRIPOS>ATOM
1 C1 6.1712 -0.8991 -16.4096 C.3 1 LIG1 -0.1500
@<TRIPOS>BOND
1 1 2 1
########## Name: ZINC000077407198
@<TRIPOS>MOLECULE
ZINC000077407198 none
@<TRIPOS>ATOM
哪个工作正常。如果 ZINC000077407100 有 N 个块,我会在 zcat 上提取 N 个块,并且不介意以 ##### 开头的行。
问题是我需要为我想要的信息的 N 个标识符/ZINC_NUMBER 读取存档 N 次。这需要很多时间,因为我有数千个要提取。
所以我想找到一种方法来传递一个数组或标识符列表/ZINC_NUMBER,以根据数组/列表中的标识符将 zcat 读数输出到几个不同的文件。
换句话说,我想使用 zcat 进行单次读取并提取一组标识符的数据,而不仅仅是一个。
GCT1015
胡子哥哥
相关分类