CSV 형식 텍스트 편집을 위한 Bash 스크립트

CSV 형식 텍스트 편집을 위한 Bash 스크립트

매니페스트 bash 스크립트의 일부로 SFP 모듈을 확인하고 이를 .csv 파일에 추가합니다. 현재 형식은 다양한 길이로 다음과 같습니다.

RO01;1000BaseSX SFP;1000BaseSX SFP
RO02;1000BaseSX SFP;1000BaseSX SFP;1000BaseLX SFP

내 목표는 첫 번째 행뿐만 아니라 첫 번째 행 이후의 각 행에도 자체 행을 제공하는 것입니다. 따라서 위의 줄은 다음과 같아야 합니다.

RO01;1000BaseSX SFP
RO01;1000BaseSX SFP
RO02;1000BaseSX SFP
RO02;1000BaseSX SFP
RO02;1000BaseLX SFP

텍스트 처리를 사용하여 이를 어떻게 달성할 수 있습니까?

답변1

가능한 해결책은 다음을 사용하는 것입니다 awk.

awk -F";" '{ for (i = 2; i <= NF; i++) { printf("%s;%s\n", $1, $i); } }' file

(필드 구분 기호)를 로 설정했습니다 awk -F";". 그런 다음 각 행(레코드)에 대해 필드 2부터 마지막 ​​필드( )까지 시작하고 필드 1과 현재 필드( )를 인쇄합니다.FS;NFfor (i = 2; i <= NF; i++)$i

관련 정보