gpt4 book ai didi

bash - 对大型文本文件 (>20G) 开头附近的行重新排序

转载 作者:行者123 更新时间:2023-11-29 09:07:06 25 4
gpt4 key购买 nike

我是 vim 用户,可以使用一些基本的 awk 或 bash 命令。现在我有一个大小超过 20G 的文本 (vcf) 文件。我想要的是将第 69 行移动到第 66 行下面:

$less huge.vcf
...
66 ##contig=<ID=9,length=124595110>
67 ##contig=<ID=X,length=171031299>
68 ##contig=<ID=Y,length=91744698>
69 ##contig=<ID=MT,length=16299>
...

我想要的是:

...
66 ##contig=<ID=9,length=124595110>
67 ##contig=<ID=MT,length=16299>
68 ##contig=<ID=X,length=171031299>
69 ##contig=<ID=Y,length=91744698>
...

我尝试使用 vim(安装了 LargeFile 插件)打开并编辑它,但仍然效果不佳。

最佳答案

最简单的方法是从文件中复制要编辑的部分,就地修改,然后再复制回去。

# extract the first hundred lines
head -n 100 huge.txt >start.txt

# modify that extracted subset
vim start.txt

# copy that section back into the beginning of larger file
dd if=start.txt of=huge.txt conv=notrunc

请注意,这仅在您的编辑未更改正在修改的部分的大小时才有效。也就是说 -- 确保 start.txt 在修改后具有与之前完全相同的字节大小。

关于bash - 对大型文本文件 (>20G) 开头附近的行重新排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43987897/

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