Из чего использование? в команде grep.. И практическое применение

Я пытался найти фактическое практическое применение? т.е. для, например, "egrep a? имя файла", но не смогло найти любого.. Это возвращает все результаты..

Так, выручите меня, где я мог знать фактическое использование egrep? команда..

Если я использую 'a?', это возвращает весь результат т.е. строки или строки. который имеет 0 a's, 1 a's, 2 a's и так далее.. т.е. я не могу найти использование того же..

Спасибо

4
задан 20.10.2012, 13:04

4 ответа

Скажите, что Вы хотели соответствовать числовым выражениям присваивания как это в сценарии:

x=1234

где некоторые числа отрицательны и имеют знак "минус":

x=-5678

Вы могли использовать это:

grep -E "x=-?[0-9]+" *

Вопросительный знак делает минус дополнительный.

(Я не думаю плоскость grep поддержки ? или +, следовательно -E).

8
ответ дан 07.12.2019, 19:06
  • 1
    я понял это..Большое спасибо.. Также, что делает 'egrep a? имя файла' сделает на самом деле.. Если можно поместить его в слова.. –  15.08.2009, 19:28
  • 2
    @RB: egrep a? filename будет соответствовать каждой строке. Это не полезно самостоятельно. – RichieHindle 15.08.2009, 19:48

? не метасимвол в основном grep, таким образом, если Вы держите для a?, Вы на самом деле держите для a сопровождаемый вопросительным знаком.

Если Вы использовали egrep (иначе grep -E), затем отвечает на указание на это ? zero-or-one-of-previous-entity regex, метасимвол был бы корректен.

6
ответ дан 07.12.2019, 19:06
  • 1
    Да сэр, Вы правы.. но мое сомнение находится здесь само, это будет всегда верно, чтобы иметь предыдущий символ, происходящий в 0 или 1 раз.. поэтому что проку от? затем, я должен знать где это? полезно.. Иначе у нас было бы использование * также, для того, чтобы сделать то же самое, поскольку оно возвращает те же результаты. –  15.08.2009, 18:41
  • 2
    Да, a? отдельно бессмысленно для поиска, потому что это будет всегда соответствовать. Это только имеет смысл как часть большего regex. – chaos 15.08.2009, 18:45
  • 3
    Можете Вы давать любой пример такого reg-выражения.. где я могу знать одно использование?.. –  15.08.2009, 18:46
  • 4
    Он имел в виду a? = "" или "a". В этом случае все соответствует "". Вы ищете символы единицы или нули одного символа, который также соответствовал бы чему-либо. –  15.08.2009, 18:50
  • 5
    я только что дал пример, для передачи моего вопроса эффективно.. Но то, в чем я нуждаюсь, является использованием фактической реализации "egrep?". Есть ли любой reg-expr от того, где я мог найти фактическое использование его.. –  15.08.2009, 18:53

Это - односимвольный поиск, соответствуя единице или нули символа перед ним.

Примечание: необходимо ли выйти? при помощи \сначала: \?.

4
ответ дан 07.12.2019, 19:06
  • 1
    Почему downvote?:/ –  15.08.2009, 18:39
  • 2
    Не мой downvote, но я не думаю, что Ваш ответ имеет любой смысл. Ваш regex i-? но Вы говорите о соответствии i+j. И если Вы означали говорить i+? затем это будет все еще соответствовать i++. ? не ограничивает то, что прибывает после соответствия, таким образом, i+? будет счастливо соответствовать i++. – RichieHindle 15.08.2009, 19:00

В regex говорят, a? средства 0 или 1 'a's. Таким образом, при поиске строки, которая имеет 0 или 1 a's в нем, Вы получите все. Место, где это было бы полезно, соответствует положительным целым числам:

/^\+?\d+$/

который теряет значение как

^: beginning of line
\+: + sign
?: 0 or 1 of previous character
\d: digit
+: one or more of previous character
$: end of line

и соответствовал бы обоим +123 и 456

Взгляните на постоянного-клиента-expressions.info для большего количества информации об использовании regex's.

1
ответ дан 07.12.2019, 19:06

Теги

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