NSLookup, как интерпретировать вывод

Вы используете правильный синтаксис в своем первом примере; проблема + только считается особенным при использовании "расширенных" регулярных выражений. Из страницы справочника реализации GNU grep:

Основной по сравнению с расширенными регулярными выражениями

В основных регулярных выражениях метасимволы?, +, {|, (и) теряют их особое значение; вместо этого используйте backslashed версии \?, \+, \{, \|, \(, и \).

(\?, \+, и \| нестандартные расширения GNU хотя).

Так, любой необходимо выйти + (принятие GNU grep или совместимый):

$ grep "^[A-Z][A-Z]\+" filename

Используйте стандарт \{1,\} эквивалентный из GNU \+:

$ grep '^[A-Z][A-Z]\{1,\}' filename

или даже здесь:

$ grep '^[A-Z]\{2,\}' filename

Или включите расширенные регулярные выражения путем передачи grep -E флаг или просто выполнение egrep (egrep команда, которая представила те расширенные регулярные выражения в конце 70-х):

$ grep -E "^[A-Z][A-Z]+" filename
$ egrep "^[A-Z][A-Z]+" filename

В любом случае все это было бы функционально эквивалентно:

$ grep '^[A-Z][A-Z]' filename

Таким образом, Вам даже не нужно + оператор.

В Вашем другом примере Вы попробовали:

$ grep "^[A-Z][A-Z]*" filename

* работы в основных регулярных выражениях, но это соответствует 0 или больше раз, не 1 или больше. Решение в Вашем ответе работает, потому что это говорит, "соответствуют капиталу, затем другой капитал, затем 0 или больше прописных букв". В методе в вопросе говорится, "соответствуют капиталу, затем 1 или более прописных букв", который является тем же. Можно также использовать {min,max} указывать точно, сколько Вы хотите, и если Вы не учитываете max это позволяет любое число (это также требует расширенных регулярных выражений):

$ egrep "^[A-Z]{2,}"

(как примечание к истории, egrep не поддерживал {min,max} первоначально (и все еще не делает в Солярисе 11 /bin/egrep например). \{min,max\} поддержка была добавлена к grep прежде {min,max} был добавлен к egrep (который в случае egrep действительно повреждал обратную совместимость)).

4
20.02.2013, 08:38
1 ответ

Хеш является разделителем между IP сервера, который ответил на Ваш запрос, и порт, это - сервис, работал.

Вы получили свой ответ от сервера 161.43.32.162 и это - сервис DNS, работал на порте 53. # разделяет два значения.

8
27.01.2020, 20:50

Теги

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