gpt4 book ai didi

linux - bash:如何从文件中提取数千行非连续行

转载 作者:太空狗 更新时间:2023-10-29 11:04:57 30 4
gpt4 key购买 nike

我有一个包含数百万行的文件。我还有一个行号列表,有几十万个,它们是非顺序的且没有模式。我想用行号列表提取文件​​的行。我怎样才能在 Linux 中有效地实现这一点?

最佳答案

如果你在文件中有行号列表,那么使用 awk 你可以做这样的事情 -

awk 'NR==FNR { a[$1];next } (FNR in a)' line_number_list.txt bigfile.txt

测试:

$ cat bigfile.txt
line1
line2
line3
line4
line5
line6
line7
line8
line9
line10

$ cat line_number_list.txt
1
2
4
5
8
9

$ awk 'NR==FNR { a[$1];next } (FNR in a)' line_number_list.txt bigfile.txt
line1
line2
line4
line5
line8
line9

关于linux - bash:如何从文件中提取数千行非连续行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16795972/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com