VLAN
означает Virtual Lan
. Это способ реализовать изолированные локальные сети в одной локальной сети (, т. е. медь и оборудование являются общими ), поэтому, если только:
Использование VLAN будет невозможно.
VPN
означает Virtual Private Network
. Это способ соединения нескольких локальных сетей (или хостов, входящих в состав нескольких локальных сетей ), в одну виртуальную.
Что касается ваших потребностей, вы можете использовать VPN для соединения вашего VPS.
Что касается вашего вопроса о крупных частных поставщиках облачных услуг, у них есть собственный центр обработки данных с выделенной сетью и оборудованием, так что, я думаю, (но трудно сказать, поскольку это совершенно непрозрачно для пользователей ), что они управляют частными облако с использованием изоляции VLAN.
Это не удается, потому что вы пытаетесь сопоставить [0-9]
в конце строки, но ваш ввод НЕ ИМЕЕТ [0-9]
в конце любой строки, каждая строка заканчивается [0-9]\r
. Вы можете сделать соответствие регулярному выражению, используя /...[0-9]\r$/
вместо ...[0-9]$/
в своем регулярном выражении. См. , почему --мой -инструмент -выводит -перезаписывает -сам -и -, как -делает -и -исправляет -it?noredirect=1 #comment97778025 _45772525 для получения дополнительной информации об окончаниях строк DOS.
Вот как обрабатывать только окончания строк UNIX, только окончания строк DOS и и то, и другое:
$ printf '654.12.32\n' | cat -v
654.12.32
$ printf '654.12.32\r\n' | cat -v
654.12.32^M
$ printf '654.12.32\n' | sed -E 's/\.([0-9][0-9])$/\100/' | cat -v
654.123200
$ printf '654.12.32\r\n' | sed -E 's/\.([0-9][0-9])$/\100/' | cat -v
654.12.32^M
$ printf '654.12.32\r\n' | sed -E 's/\.([0-9][0-9])\r$/\100/' | cat -v
654.123200
$ printf '654.12.32\r\n' | sed -E 's/\.([0-9][0-9])(\r?)$/\100\2/' | cat -v
654.123200^M
$ printf '654.12.32\n' | sed -E 's/\.([0-9][0-9])(\r?)$/\100\2/' | cat -v
654.123200
Если я вас правильно понял, это может сработать:
sed -E 's/^(.{3}\..{2}\..{2})$/\100/' file
Выход:
46066.874.89
48569.123.56
56489.256.88
654.12.3200
84689.25.69
Ваше регулярное выражение не работает, потому что оно соответствует
46066.874.89 48569.123.56 56489.256.88 654.12.32 84689.25.69
, так что вывод будет:
46066.874.8900
48569.123.5600
56489.256.8800
654.12.3200
84689.25.6900