2010-05-04 4 views
0

파일을 분할하고 각 섹션에 헤더를 추가하는 가장 쉬운 방법은 무엇입니까?명령 줄에서 분할 및 추가

unix split 명령은 헤더를 추가 할 필요가없는 모든 것을 처리합니다.

스크립트를 작성하기 전에 기존 도구로 쉽게 할 수 있습니까?

답변

0

awk 또는 perl 중 하나를 사용하는 것이 가장 쉽습니다. 많은 데이터를 처리하지 않는다면 간단한 쉘 스크립트를 사용하여 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$