2013-04-18 3 views
1

저는 XML과 다른 방식으로 시작된 추악한 데이터를 다시 포맷하고이를 끝내지는 못합니다. 이에두 번째 행을 열로 바꾸십시오.

BPSD-41 
    Admin Summary: Page does not finish loading 

    BPSD-49 
    Mobile: Activity Section: Does not finish loading 

    BPSD-50 
    Fix bug in staging 

:

나는 켜려고

BPSD-41 : Admin Summary: Page does not finish loading 

    BPSD-49 : Mobile: Activity Section: Does not finish loading 

    BPSD-50 : Fix bug in staging 

내가 정말 우아한 AWK 솔루션 거기 겠지,하지만 난 그것을 찾을 수 없습니다 ...

+1

을 생략 한 라이너의 당신은 할 수 있습니다 : % s/\ ([0-9] \) \ n/\ 1 :/g' –

+0

당신은 학자이고 신사입니다. –

답변

0

다음을 수행 할 수 있습니다.

BEGIN { 
    flag = 0; 
} 

{ 
    if (flag == 0) { 
     save = $0; 
     flag = 1; 
    } else { 
     printf("%s : %s\n", save, $0); 
     flag = 0; 
    } 
} 

이것을 테스트하지는 않았지만, 가까운 것이 효과가있다.

+0

'BPSD-2 \t : 요약 페이지 로컬 지출 포드에 대한 복사의 변화 : \t BPSD-7 \t 관리자 포털에서 거래 만들기 오류 : \t BPSD-3 \t : 테스트 홈 페이지 : 변경 연락처 전화 번호 : \t BPSD를 -4 \t' –

+0

알렉스, 나는 그 의견을 이해하지 못한다. –

0

당신은 2 개 라인 가입이 awk 명령을 사용할 수 있습니다

awk 'NF>0{printf $0; getline; print $0}' inFile 

또는 sed를 사용

여기
sed -i.bak 'N;s/\n/\;/' inFIle 
0

은 빈 줄 경우 a

/[^\r\n]/{ printf("%s%s", $0, i++ % 2 ? "\n" : " : "); } 
관련 문제