![Разделение имени[3:0] шины на отдельный провод](https://rvso.com/image/122174/%D0%A0%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%B8%D0%BC%D0%B5%D0%BD%D0%B8%5B3%3A0%5D%20%D1%88%D0%B8%D0%BD%D1%8B%20%D0%BD%D0%B0%20%D0%BE%D1%82%D0%B4%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9%20%D0%BF%D1%80%D0%BE%D0%B2%D0%BE%D0%B4.png)
У меня есть данные, как показано ниже
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подход:
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