删除一段文本的最简单方法,n次

spa*_*wil 2 vi bash shell

我有一个大于4gb的文件,这对我来说是个坏消息因为我无法在notepad ++中打开文件并使用宏功能来记录并重复一个进程到文件的末尾.我想做的是,保留前20行文本,然后删除下一行80,然后将该过程重复到文件末尾.

最简单的方法是什么?我在Linux服务器上查看这些文件,因此运行某种脚本是最简单的方法,或者有人知道在vi中执行此操作的方法?(因此跛脚)

提前致谢

Kev*_*vin 9

awk 可以很容易地做到这一点:

awk '(NR-1)%100 < 20' bigfile.txt
Run Code Online (Sandbox Code Playgroud)