Grep для определенного количества символов после совпадающего шаблона

Я отключил systemd -решен, но все еще имею проблему с распознавателем DNS, которую я исправляю с помощью вашего решения mangle.

Альтернативный ответ, потому что, может быть, мы просто хотим, чтобы iptables, а не systemd -был разрешен в качестве нашего брандмауэра:

StubListener для no в /etc/systemd/resolved.conf.d/00-hostname.conf

Какое-то неудобное время мы только что разрешили systemd -и никак не могли остановить его запуск и отобрать домен брандмауэра у iptables.

Какое-то время у нас была возможность прекратить это и либо вернуться к распознавателям Google, либо к распознавателям opennic. Проверьте namebench, чтобы выбрать локально быстрее.

Или у нас может быть dnsmasq или старый добрый djbdns dnscache. Мы можем улучшить google и/или opennic или что-то еще с помощью dnsmasq, dnscache или их комбинации. Я использую dnsmasq с namebench -ed opennic плюс 127.0.0.53 dnscache, поэтому www.bigtube.com SERVFAIL не занимает и трех минут! У меня есть dnsmasq 127.0.0.1 в /etc/resolvconf и NetworkManager. В djbns dnscache Эрвина Хоффмана действительно есть ipv6, но лично меня это не волнует.

1
11.05.2020, 01:48
3 ответа

Любой из следующих:

grep "cat.*Accton" file.txt

awk '/cat.*Accton/' file.txt

Предполагая, что строки со строкой Accton— единственные, содержащие шаблоны, которые вы хотите вернуть:

grep Accton file.txt

awk '/Accton/' file.txt

Вы также можете просто поставить пробел после sw10[0 -9]:

grep "sw10[0-9] " file.txt

awk '/sw10[0-9] /' file.txt        

Выход:

cat1-home-switch-sw104 Accton 4610-54P 2.1.1.1
cat2-home-switch-sw102 Accton 4610-54P 2.1.1.1
cat5-home-switch-sw101 Accton 4610-54P 2.1.1.1
cat6-home-switch-sw103 Accton 4610-54P 2.1.1.1
0
28.04.2021, 23:15

Вы можете использовать \bдля соответствия границе слова или \>для соответствия концу слова:

grep -E 'sw[0-9]{3}\b' file
grep -E 'sw[0-9]{3}\>' file

Или grepдля пробела после цифр:

grep -E 'sw[0-9]{3} ' file
1
28.04.2021, 23:15

Другие ответы также могут подойти для вашей цели, но если вы хотите убедиться, что вы соответствуете /sw[0-9]{3}$/только в первом поле строки, вы можете использоватьawk:

awk '$1 ~ /sw[0-9]{3}$/' input_file
0
28.04.2021, 23:15

Теги

Похожие вопросы