Bash 스크립트를 사용하여 파일의 텍스트 정렬

Bash 스크립트를 사용하여 파일의 텍스트 정렬

bash 스크립트를 사용하여 multipath -ll의 출력을 csv 유형 파일로 정렬하고 싶습니다. 예를 들어 # multipath -ll은 다음과 같은 출력을 제공합니다.

360060e80056fc30000006fc30000513c dm-41 HITACHI,OPEN-V
 \_ 4:0:0:45 sdcm 69:160 [active][ready]
 \_ 3:0:0:45 sdcn 69:176 [active][ready]
360060e80056fc30000006fc300005162 dm-31 HITACHI,OPEN-V
 \_ 3:0:0:36 sdbu 68:128 [active][ready]
 \_ 4:0:0:36 sdbv 68:144 [active][ready]
360060e80056fc30000006fc300005127 dm-56 HITACHI,OPEN-V
 \_ 3:0:0:6  sdg  8:96   [active][ready]
 \_ 4:0:0:6  sdt  65:48  [active][ready]

내가 원하는 것은 이 형식의 csv 파일을 만드는 것입니다.

LUN ID no., SCSI DEVICE1, SCSI DeVICE2
360060e80056fc30000006fc300005127,sdg,sdt
360060e80056fc30000006fc300005162,sdbu,sdbv

전체 스크립트가 아닌 이를 달성하는 방법에 대한 기본 아이디어를 찾고 있을 뿐입니다. 어떤 도움이라도 대단히 감사하겠습니다.

답변1

> awk '/^[^ ]/ {printf "\n%s",$1; next}; { printf ",%s",$3; }' file

360060e80056fc30000006fc30000513c,sdcm,sdcn
360060e80056fc30000006fc300005162,sdbu,sdbv
360060e80056fc30000006fc300005127,sdg,sdt

관련 정보