끊어진 전선을 찾아서 연결하는 방법

끊어진 전선을 찾아서 연결하는 방법

내 임무는 여러 서버의 구성 파일에서 손상된 문자열을 검색하고 연결하는 것입니다.

구성 파일에는 많은 매개변수가 있으며 한 섹션에는 줄바꿈이 거의 없어 연결이 필요합니다.

구성 파일의 손상된 문자열은 다음 예의 두 번째 및 세 번째 줄과 같습니다.

rconfigure En32zrt 10.xx.xx.xx/24
rconfigure 
En32zrt 10.10.xx.xx/24
rconfigure En32zrt 10.xx.xx.xx/24

다음과 같이 위의 예에서 두 번째와 세 번째 줄을 연결해야 합니다.

rconfigure En32zrt 10.xx.xx.xx/24
rconfigure En32zrt 10.10.xx.xx/24
rconfigure En32zrt 10.xx.xx.xx/24

내가 분명히 밝혔기를 바랍니다. 조언해주세요.

편집하다: 문자열이 반드시 /24로 끝나는 것은 아닙니다. 다음과 같이 보일 수도 있습니다.

rconfigure En32zrt 10.xx.xx.xx
    rconfigure 
    En32zrt 10.10.xx.xx/24
    rconfigure En32zrt 10.xx.xx.xx

이는 다음과 같이 변경되어야 합니다:

rconfigure En32zrt 10.xx.xx.xx
rconfigure En32zrt 10.10.xx.xx/24
rconfigure En32zrt 10.xx.xx.xx

답변1

모든 출력 줄에 3개의 단어가 포함되어야 한다는 것을 알고 있다면(OP에서 제안한 대로) 다음을 수행할 수 있습니다.

tr ' \t' '\n' <some_file |
grep -v '^$' |
paste -d ' ' - - -

노트:

  • tr공백 구분 기호를 줄 바꿈으로 변환
  • grep빈 줄 삭제
  • grep단어 목록을 남기면 각 단어는 한 줄에 표시됩니다.
  • paste주어진 구분 기호를 사용하여 3개의 줄을 하나로 반복적으로 병합합니다.

관련 정보