Другой awk
:
awk -F: 'a!~$1{print x}a=$1' file
Удалить первую пустую строку вывода
awk -F: 'a&&a!~$1{print x}a=$1' file
Самое простое, что нужно сделать, это удалить маршрут по умолчанию на хосте А. Таким образом, он сможет связаться только на других хостах на локальной сети LAN, например, Host B. Если вы поставили Хост C на другом порту локальной сети, хотя хост A сможет поговорить с ним. Следующим шагом было бы поставить Host A в отдельную сеть / VLAN и внедрять правила брандмауэра, чтобы ограничить его, хотя это, вероятно, будет налицо для простого использования.
Удалите шлюз по умолчанию из настроек сети
/etc/networking/interfaces
и перезапустите сеть
services networking restart
/etc/init.d/networking restart
или
route -n
route del default gw xxx.xxx.xx.gw
, где xxx.xxx.xxx.gw - ваш шлюз
Один из способов с sed
:
sed ':X;s/\(.\)\1/\1/g;tX'
или даже проще:
sed 's/\(.\)\1*/\1/g'
(спасибо Costas и mikeserv за комментарии).
-121--24185- Попробуйте tr
:
echo "Thhiisss iisss mmyyy nameeee" | tr -s 'hismye'
-121--24186- Изменить: Я должен извиниться перед вами. Я провел дополнительное тестирование, и правила, написанные ниже, не работают, как я ожидал. Я обновил свой ответ, чтобы отразить результаты моего тестирования.
У вас есть несколько вариантов.
Что-то вроде
sudo ufw enable
sudo ufw allow in from 192.168.0.0/24
sudo ufw allow out to 192.168.0.0/24
sudo ufw default deny outgoing
sudo ufw default deny incoming
Это создаст явное правило, разрешающее трафик в/из локальной сети и запрещающее весь остальной трафик.