2012-07-12 2 views
-1

아래의 태그 SED :는 AWK를 사용하여 쉼표로 구분 된 또는 아래에 사용 된 태그를 쉼표 사용 AWK로 구분 또는 SED

:

[BEGIN AccountID] 
     [BEGIN CallerID] 
      [BEGIN Billed Account Attributes] 
      1111111 
      1111111 
      1111111 
      [END Billed Account Attributes] 

     [BEGIN OBIO Tax] 
     10 
     20 
     30 
     [END OBIO Tax] 

     [BEGIN RINO Tax] 
     777 
     888 
     999 
     [END RINO Tax] 
    [BEGIN CallerID] 
[END AccountID] 


[BEGIN AccountID] 
    [BEGIN CallerID] 
     [BEGIN Billed Account Attributes] 
     2222222 
     2222222 
     2222222 
     [END Billed Account Attributes] 

     [BEGIN OBIO Tax] 
     40 
     50 
     60 
     [END OBIO Tax] 

    [BEGIN CallerID] 
[END AccountID] 

내가이를 인쇄 할 AWK 또는 SED 스크립트를 원하는

1111111,1111111,1111111, 10,20,30, 777,888,999 2222222,2222222,2222222, 40,50,60, 0, 0, 0 .... .... .... 

쉼표로 구분되고 RINO TAX가 표시되지 않을 때 ZERO가 입력됩니다.

고마워요 !!!!

+3

지금까지 해보신 것은 무엇입니까? 어떤 코드 나 아이디어를 우리와 공유 할 수 있습니까? 이미 탐험 한 내용을 알면 쉽게 도움이됩니다. – Levon

+1

이 숙제가 있습니까? –

+0

나는 이것을 시도했다 : awk 'BEGIN {OFS = ";"; } f {[nf = 0] = $ 0;} print {f} [{nf = 0} = $ 0; [3], f [15];} '$ 1 – Oliveira

답변

1

이 당신을 위해 작동 할 수 있습니다 (GNU 나오지도) :

sed '/\[BEGIN AccountID\]/,/\[END AccountID\]/!d;/\[BEGIN AccountID\]/{h;d};/./H;/\[END AccountID\]/!d;g;s/\n*\[[^\n]*\n*//g;s/\n/,/g;s/\s*//g;ta;:a;s/,//9;t;s/$/0,0,0/' file 

N.B. 이렇게하면 공백과 빈 줄이 제거됩니다.

+0

너무 가까이! 각 줄을 새 줄에 올릴 수 있습니까? 너무 많은 Potong !! – Oliveira

관련 문제