Удалить точки после крайней правой ]
:
sed -e :1 -e 's/\(][^]]*\)\.\([^]]*\)$/\1\2/;t1'
Или:
awk -F']' -vOFS=']' 'NF>1 {gsub(/\./,"",$NF)};1'
Или:
perl -pe 's/.*\]\K.*/$&=~s|\.||gr/e'
Удалить после ]
, независимо от того, есть ли другие ]
справа.
sed -e :1 -e 's/\(].*\)\./\1/;t1'
Or:
perl -pe 's/.*?\]\K.*/$&=~s|\.||gr/e'
Должно быть легко с 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
должен быть легко с 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
-121----186127- perl -nE '/(.*?)"(.*)"/; say "$1$_" for split /;/,$2'