各行の後にある.]を削除する必要があるファイルがあります。
例えば
xyz[1.2]35.23
xyz[1.2.3]35.234
出力は
xyz[1.2]3523
xyz[1.2.3]35234
答え1
一番右の支店の後ろの支店を削除するには]
:
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'
または:
perl -pe 's/.*?\]\K.*/$&=~s|\.||gr/e'
答え2
そしてperl
:
$ perl -pe 's/(?<=])\d+\K\.//g' file
xyz[1.2]3523
xyz[1.2.3]35234