如何使用vi打开一个非常大的文件的子集

时间:2015-02-12 08:05:34

标签: vim vi

如何使用vi

打开一个非常大的文件的子集
  1. 使用vi
  2. 打开最后10000行
  3. 使用vi
  4. 打开10000,20000行

2 个答案:

答案 0 :(得分:3)

由于性能问题,我不会在这里使用Vim。寻呼机更适合这项工作。

  1. 打开最后10000行

    $ tail -n 10000 filename | less
    
  2. 打开10000,20000行

    $ sed -n 10000,20000p filename | less
    
  3. 无论如何,如果你 想要Vim,你可以用less替换vim -

答案 1 :(得分:1)

作为补充,我编写了一个小脚本来编辑/查看文件切片(vimslice)。

#!/usr/bin/perl -s

my $file=shift or die("Error:
 usage: $0 [-n] file startline [endline]
   -n      don't save changes in file.out\n");

my $sl = shift || 1;
my $el = shift || ($sl+1000);

system("sed -n -e '$sl,$el p' $file > $file.$$");
system("vi $file.$$");

if(not $n){
  system(qq{awk '(NR==$el)          {system("cat $file.$$")}
                  NR==$sl,NR==($el) {next}
                                    {print}' $file> $file.out});}

在chmod之后安装它

vimslice bigfile 10000 20000      
     ...  edit the slice, replace and save in "bigfile.out" 
vimslice -n bigfile 10000 20000        
     ...  just view the slice
vimslice bigfile 10000
     ... the same as vimslice bigfile 10000 10000+1000