Страница 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
нипанятна... а если без кавычек?
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 все работает корректно.
В чем косяк господа?

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