들여쓰기한 줄을 이전 줄의 끝으로 어떻게 이동합니까?

들여쓰기한 줄을 이전 줄의 끝으로 어떻게 이동합니까?

입력:

Key1: value1 value2 value3
Key2: value1 value2 value3
      value4 value5
Key3: value1 value2 value3
      value4 value5 value6
      value7 value8
Key4: 
Key5: value1 

산출:

Key1: value1 value2 value3
Key2: value1 value2 value3 value4 value5
Key3: value1 value2 value3 value4 value5 value6 value7 value8
Key4: 
Key5: value1 

들여쓰기한 줄을 이전 줄의 끝으로 어떻게 이동합니까?

  • 들여쓰기된 줄의 공백 수는 일정합니다.
  • 수십 개의 키가 있으며 각 키에는 다음 줄에 들여쓰기된 값이 있을 수 있습니다.
  • 키 값이 여러 줄에 배치될 수 있음

답변1

awk 'NR == 1 {printf("%s", $0); next}
     /^ /    {
                for(i=1; i<=NF; i++){
                  printf(" %s", $i)
                }
                next
             }
             {printf("\n%s", $0)}' input > output

관련 정보