Предполагая, что у вас не <TAB>
, а несколько пробелов в качестве разделителей полей, и, просмотрев и подсчитав ваши образцы данных, я пришел к
$ sed -E 's/^(.{15}).{5}/\1/' file
18DMA H 0.886 5.687 5.320
18DMA H 1.019 5.764 5.247
18DMA Np 0.947 5.584 5.151
18DMA H 1.033 5.541 5.113
18DMA Cn 0.880 5.674 5.050
18DMA H 0.831 5.616 4.971
18DMA H 0.814 5.751 5.091
18DMA H 0.957 5.735 5.003
18DMA Cn 0.837 5.486 5.185
Он использует «обратную ссылку» для первых 15 символов, чтобы восстановить их с помощью \1
в замещающей части команды замены s
.
Лучшее решение зависит от того, хотите ли вы отключить автоматическую настройку адреса -для всей сети или только для одного устройства.
Для всей сети вы можете указать radvd
не устанавливать флаг «автономный» в своих объявлениях. Это предотвратит автоматическую генерацию собственных адресов всеми системами в сети. Для этого вы можете использовать опцию AdvAutonomous
.
Если вы хотите установить это на клиенте на уровне ядра, вам нужно сообщить ядру, чтобы оно не генерировало свои собственные адреса. Это проще всего сделать, создав /etc/sysctl.d/10-ipv6-autoconf.conf
с этим содержимым:
net.ipv6.conf.all.autoconf = 0
net.ipv6.conf.default.autoconf = 0
Этот файл обрабатывается после каждой перезагрузки. Вы можете активировать новые настройки вручную, запустив sudo sysctl --system
.
Если вы хотите использовать systemd-networkd
, должно работать следующее, но я сам не пробовал:
[Network]
IPv6AcceptRA=true
DHCP=yes
[IPv6AcceptRA]
UseAutonomousPrefix=false