2014-06-19 2 views
1

다음과 같은 상황에서 다음 줄이 특정 패턴으로 시작하는 줄에서 캐리지 리턴 줄 바꿈을 제거하려고합니다.
아래의 경우 "다음 줄"은 "."로 시작됩니다. "x"앞에 x 공백이 있어야합니다.
이전 줄 끝의 캐리지 리턴 줄 바꿈을 "."앞에있는 공백과 함께 제거하고 싶습니다.정규식 패턴과 일치하는 행에서 awk로 캐리지 리턴 줄 바꿈 제거

Query.FieldByName('dataField') 
     .AsString; 

awk 스크립트를 적용한 후 코드는이

Query.FieldByName('dataField').AsString; 

감사 같아야합니다

답변

4

나는이 있습니다

kent$ cat f 
foo 
.bar 
    .bar2 
xyz 
       .abc 

kent$ awk '/^\s*\./{sub(/^\s*/,"");printf "%s",$0;next}{printf "%s%s",(NR==1?"":RS),$0}END{print ""} ' f 
foo.bar.bar2 
xyz.abc 
: 예를 들어

awk '/^\s*\./{sub(/^\s*/,"");printf "%s",$0;next} 
      {printf "%s%s",(NR==1?"":RS),$0}END{print ""} ' file 

+0

+1 awk-some awk-fu :) – zx81

관련 문제