Я не уверен, что означает unless it's before a dot (.)
часть ваших требований, но если ваше требование действительно заключается в том, что число не может стоять непосредственно перед буквой, то, если ваш sed поддерживает \n
для создания новой строки в текст замены:
$ sed 's/\([0-9]\)\([[:alpha:]]\)/\1\n\2/' file
us9831.provider.com = 262.99.124.183
us9832.provider.com = 121.92.213.10
В противном случае с любым sed:
$ sed 's/\([0-9]\)\([[:alpha:]]\)/\1\
\2/' file
us9831.provider.com = 262.99.124.183
us9832.provider.com = 121.92.213.10
echo "us9831.provider.com = 262.99.124.183us9832.provider.com = 121.92.213.10"| sed "s/[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*/&\n/g
"
выход
us9831.provider.com = 262.99.124.183
us9832.provider.com = 121.92.213.10