Страница 1 из 1

grep не работает

Добавлено: 2010-10-01 14:58:05
iye
Приветствую!
Столкнулся с непоняткой в грепе ...

Код: Выделить всё

test-srv:~# echo 10.0.0.1 |grep '^\d+'
test-srv:~# echo 10.0.0.1
10.0.0.1
test-srv:~#
Почему не работает, кто нибудь может просветить ? Заранее благодарен!

Re: grep не работает

Добавлено: 2010-10-01 15:06:12
terminus
egrep может попробовать?

Re: grep не работает

Добавлено: 2010-10-01 15:07:19
iye
Та же петрушка, вид сбоку:

Код: Выделить всё

test-srv:~# echo 10.0.0.1 |egrep '^\d+'
test-srv:~#

Re: grep не работает

Добавлено: 2010-10-01 15:12:12
terminus
К стати что подрузамевается под '^\d+' - любое целое число с начала строки?
какую часть IP адреса надо получить?

Re: grep не работает

Добавлено: 2010-10-01 15:17:17
iye
Подразумевается любое количество цифр больше одной с начала строки. Мне не нужно получить часть адреса .. мне интересно почему греп так криво работает с цифрами .. в перле тот же вариант отрабатывает на раз-два.

Код: Выделить всё

#!/usr/bin/perl -w

$title = "10.1.1.11";
$title =~ m/^(\d+)/;
print "====\n";
print $1;
print "====\n";

Код: Выделить всё

test-srv:~# ./test1.pl
====
10====
test-srv:~#

Re: grep не работает

Добавлено: 2010-10-01 15:21:33
terminus
нипанятна... а если без кавычек?

Код: Выделить всё

echo 10.0.0.1 | egrep ^\d+

Re: grep не работает

Добавлено: 2010-10-01 15:23:37
iye
От и я о том же, что нипанятна...

Код: Выделить всё

test-srv:~# echo 10.0.0.1 |egrep ^\d+
test-srv:~#

Re: grep не работает

Добавлено: 2010-10-01 15:34:13
hizel

Код: Выделить всё

hizel@wnight:~$ echo 10.0.0.1 | grep --perl-regexp '^\d+'
10.0.0.1
hizel@wnight:~$ echo 10.0.0.1 | grep '^\d+'
hizel@wnight:~$ 

Re: grep не работает

Добавлено: 2010-10-01 15:38:55
iye
А для бестолковых можно комент почему он не ищет без ключа перл-регексп ? Да и в мане написано что это эксперементальная функция ...

Код: Выделить всё

--perl-regexp
              Interpret PATTERN as a Perl regular expression.  This is highly experimental and grep -P may warn of unimplemented features.

Re: grep не работает

Добавлено: 2010-10-01 15:42:16
hizel
с бестолковыми разговаривать бессмысленно и скучно
use grep -E '^[0-9]+' or use grep -E '^[[:digit:]]+', Luke

Re: grep не работает

Добавлено: 2010-10-01 15:48:39
iye
Спасибо доктор! )

Re: grep не работает

Добавлено: 2010-10-01 21:48:57
Alex Keda
дядя, тег

Код: Выделить всё

 не забывайте, пожалуйста.

Re: grep не работает

Добавлено: 2010-10-01 21:55:57
hizel
во первых, зачем? во вторых, это сломает форматирование моей умной фразы ;]
в третьих, всегда помню, как можно

Re: grep не работает

Добавлено: 2010-10-02 17:25:05
Alex Keda
=)

Re: grep не работает

Добавлено: 2013-10-17 11:04:20
CTOPMbI4
не работает должным образом

Код: Выделить всё

uname -a
FreeBSD gw3 8.2-RELEASE-p10 FreeBSD 8.2-RELEASE-p10 #0: Fri Dec  7 04:55:25 YEKT 2012     root@gw:/usr/obj/usr/src/sys/kern_8.1v2_3  i386

"-o" — выбирать только совпавшую часть подстроки

выдает все и сразу.
проверил на 9.1 все работает корректно.
В чем косяк господа? :pardon:

Re: grep не работает

Добавлено: 2013-10-17 14:48:31
kpp
работает.
Пример неработающего скрипта в студию!