첫 번째 필드를 기준으로 행의 값 변환

첫 번째 필드를 기준으로 행의 값 변환

스크립트를 작성하지 않고 다음을 수행할 수 있는 쉬운 방법이 있는지 궁금합니다.

전환하다

1234,"a;b;d"
2345,"e;f;g;h"

도착하다

1234,a
1234,b
1234,d
2345,e
2345,f
2345,g
2345,h

답변1

쉬워야합니다 awk:

$ awk -F'[";]' -vOFS='' '{for(i=2;i<NF;i++)print $1,$i}' file
1234,a
1234,b
1234,d
2345,e
2345,f
2345,g
2345,h

답변2

perl -nE  '/(.*?)"(.*)"/;  say "$1$_" for split /;/,$2'

관련 정보