2014-07-09 7 views
0

다음 줄까지 "CLIENT TOTAL"및 그 이후의 단위 줄을 기준으로 줄을 지우고 싶습니다.
"CLIENT TOTAL"행 다음에 오는 단위 선 (예 : 30.0과 15.0이있는 행)의 수는 다음 이름까지 달라질 수 있습니다. 가장 중요한 것은 파일이 구분되지 않았기 때문입니다. 내 입력 파일은 다음과 같습니다. 입력 :유닉스에서 구분되지 않은 파일의 줄을 지우는 방법

RELATIVITY/O F 32629 DT MBSA 
HALL    15.0    5,850 
HALL    30.0   21,650 
RELATIVITY/O F 34145 DT MBSA 
HALL    30.0   10,850 
*CLIENT TOTAL RELATIVITY/O F  38,350 
       30.0   32,500 
       15.0    5,850 
PFIZER   96607 DT MBSA 
HALL    15.0   32,700 
HALL    30.0   21,300 
PFIZER   96609 DT MBSA 
HALL    60.0   30,200 
HALL    75.0   182,100 
HALL    90.0   67,700 
*CLIENT TOTAL PFIZER   334,000 
       90.0   67,700 
       30.0   21,300 
       15.0   32,700 

다음과 같이 출력하고 싶습니다.
출력 :

RELATIVITY/O F 32629 DT MBSA 
HALL    15.0    5,850 
HALL    30.0   21,650 
RELATIVITY/O F 34145 DT MBSA 
HALL    30.0   10,850 
PFIZER   96607 DT MBSA 
HALL    15.0   32,700 
HALL    30.0   21,300 
PFIZER   96609 DT MBSA 
HALL    60.0   30,200 
HALL    75.0   182,100 
HALL    90.0   67,700 
+0

'그렙 -v이 '^ [*]' – Cyrus

답변

1

이 당신을 위해 작동 될 수 있습니다

awk '/CLIENT TOTAL/||/^[[:space:]]/{next}1' file 

설명 :

awk ' 
    # If line contains "CLIENT TOTAL" or starts with whitespace, skip it 
    /CLIENT TOTAL/ || /^[[:space:]]/ { next } 
    # Otherwise, print it 
    1 
' file 
+1

I이 사용했을 file' 'awk'/ CLIENT TOTAL/||/^ [^ [: alnum :]]/{next} 1 '은 공간과 탭을 관리합니다. (';'before before 1') – Jotne

+0

좋은 지적. 왜 substr을 사용했는지 모르겠다! 편집 중 .... – ooga