명칭[3:0] 버스와 개별선의 분리

명칭[3:0] 버스와 개별선의 분리

아래와 같은 데이터가 있습니다

A[3:0] INPUT
B[3:0] OUTPUT

이제 아래와 같은 데이터가 필요합니다.

A[3] INPUT
A[2] INPUT
A[1] INPUT
A[0] INPUT
B[3] OUTPUT
B[2] OUTPUT
B[1] OUTPUT
B[0] OUTPUT

도움이 필요하세요?

답변1

방법:

awk '{ split($1,a,/[\[:]/); d=a[2]+1; while(d--) printf "%s[%d] %s\n",a[1],d,$2 }' file

산출:

A[3] INPUT
A[2] INPUT
A[1] INPUT
A[0] INPUT
B[3] OUTPUT
B[2] OUTPUT
B[1] OUTPUT
B[0] OUTPUT

관련 정보