OSX 大文件(超过 10GB)的终​​端文本编辑技巧

OSX terminal text editing trick for a big file (over 10GB)

我有 10-50GB 左右的文本文件。我需要按如下方式编辑这些文件的前几行;

原创;

>Aura head -n 2  042319_S6_L001_R1_001.fastq.recovered 
==> 042319_S6_L001_R1_001.fastq.recovered <==
9�C�{a��e�T�l1�{jz7?\^tZ[1�Wvcb���]zj�\,����~
zT'zT'zT'zT'zT'zT'zT'zT'zT'zT'zTfŌȊ���@hYM�rkdt�t?��av��B�,KII9]�Hϛ�[�ada[�SY�o��|>K�H���k��%���'
                                                                                                 �LDTM&Ãd�XQ@A00165:69:HKJ3YDMXX:1:1101:4390:1266 1:N:0:CATGAACA
AGTTAGCTCACCATGATGAAACAAGACT
+
FFFFFFFFFFFFFFFFFFFFFFFFFFFF
@A00165:69:HKJ3YDMXX:1:1101:4896:1266 1:N:0:CATGAACA
TATCTTGTCACGATACTCAACATGTGGA
+
FFFFFFFFFFF:FFFFFFFFFFF:FFFF
@A00165:69:HKJ3YDMXX:1:1101:6307:1266 1:N:0:CATGAACA

期望的输出;

>Aura head -n 2  042319_S6_L001_R1_001.fastq.recovered 
==> 042319_S6_L001_R1_001.fastq.recovered <==
@A00165:69:HKJ3YDMXX:1:1101:4390:1266 1:N:0:CATGAACA
AGTTAGCTCACCATGATGAAACAAGACT
+
FFFFFFFFFFFFFFFFFFFFFFFFFFFF
@A00165:69:HKJ3YDMXX:1:1101:4896:1266 1:N:0:CATGAACA
TATCTTGTCACGATACTCAACATGTGGA
+
FFFFFFFFFFF:FFFFFFFFFFF:FFFF
@A00165:69:HKJ3YDMXX:1:1101:6307:1266 1:N:0:CATGAACA

我试着用 nano 来做这个,但是加载整个千兆字节的文件需要很长时间。我厌倦了按 split 分割文件,但由于某些原因,合并后的文件有损坏的行。我将不胜感激。

已更新:

前两行看起来好像是文件头的一部分,但此文件中没有二进制文本文件头。所以我想我很幸运。另一方面,这不是静态文本。每个文件的行的长度和内容不同。

结合@shellter 评论和帮助,摆脱非 ASCII 垃圾并获得我想出的所需输出的最简单脚本如下;

gsed -n 'l0' testfile | gsed 's/.*@/@/' |  gsed '1,2d' | gsed 's/[$]//g'

我使用 brew install gnu sed (gsed) 而不是 OSX 的 BSD sed.