Преобразуйте значения в строку первым полем

Удалить точки после крайней правой ] :

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'
1
09.03.2015, 21:13
2 ответа

Должно быть легко с 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
1
27.01.2020, 23:51

должен быть легко с 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'
0
27.01.2020, 23:51

Теги

Похожие вопросы