我有一个5,000行的文本文件.我需要将其拆分为每个不超过99行的文件.我可以用vim做这个吗?如果没有,我的其他选择是什么?
rom*_*inl 11
首先,定义一个控制变量:
:let i = 1
Run Code Online (Sandbox Code Playgroud)
然后,将第1行到第99行(包括)写入以控制变量的当前值命名的文件,剪切这些行,并递增控制变量;
:exec "1,99w! chunk-" . i|1,99d|let i = i + 1
Run Code Online (Sandbox Code Playgroud)
根据需要重复多次:
49@:
Run Code Online (Sandbox Code Playgroud)
这应该给你命名的50个文件chunk-1
到chunk-50
.
由于5000不能被99整除,你将留下50行.写下来chunk-51
:
:w chunk-51
Run Code Online (Sandbox Code Playgroud)
有一个名为split :)的工具可以帮到你
例:
split -a 3 -d -l 99 my_big_file.txt big_file_chunk_
-a 3 : says to use a unique 3 character suffix for each chuck file
-d : says make that suffix a number so 001 002 all the way to 999
-l 99: split file by line and have 99 lines or less in each chuck.
next are the source file name and if you want the prefix to use for each produced file.
Run Code Online (Sandbox Code Playgroud)
这将创建多个文件,其中最多名称为99行
big_file_chunk_001
big_file_chunk_002
....
Run Code Online (Sandbox Code Playgroud)