2010-05-04 16 views
0

什么是分割文件并为每个部分添加标题的最简单方法?在命令行上拆分并添加标题

unix split命令可以完成我需要的所有功能,减去能够添加标题。

在我编写脚本之前,使用现有工具做到这一点的简单方法是?

回答

0

这可能是最容易做到这一点在任何awkperl。如果不处理大量的数据,然后使用一个简单的shell脚本进行后处理的split输出可能是罚款。但是,如果您正在执行任何类型的在线数据处理任务,则这将跨越输入不止一次,这可能是瓶颈。像下面这样的东西应该工作:

bash$ cat input-file | awk ' 
    BEGIN { 
     fnum = 1 
     print "HEADER" > fnum 
    } 
    { if ((NR % 10) == 0) { 
      close(fnum) 
      fnum++ 
      print "HEADER" > fnum 
     } 
     print >> fnum 
    } 
' 
bash$ wc -l input-file 
    239 input-file 
bash$ ls 
1    19    6 
10    2    7 
11    20    8 
12    21    9 
13    22    input-file 
14    23 
15    24 
16    3 
17    4 
18    5 
bash$