【发布时间】:2020-06-18 02:31:18
【问题描述】:
我有一个巨大的文本文件,我想从中提取特定的列。我可以在 python 中做到这一点,但由于文件有大约 12 亿行,这会很慢。该文件如下所示(显示一行):
chr1 9734 10486 ID=SRX502813;Name=Input%20control%20(@%20IMR-90);Title=GSM1358818:%20HIRA%20OIS%20Control%20input%20DNA%3B%20Homo%20sapiens%3B%20ChIP-Seq;Cell%20group=Lung;<br>source_name=Fibroblasts;cell%20line=IMR90;chip%20antibody=none; 1000 . 9734 10486 255,0,0
现在,我想提取前三列和 ID,它是第四列的一部分:
chr1 9734 10486 SRX502813
我可以使用以下代码提取前三列,但我无法在第 4 列中拆分子字符串:
#!/usr/bin/bash
# -*- coding: None -*-
end_of_file=0
while [[ $end_of_file == 0 ]]; do
read -r line
end_of_file=$?
grep SRX* | cut -f 1-3 >> out_file.txt
done < "$1"
可能有人可以提供有关如何解决此问题的提示?非常感谢!
【问题讨论】: