Показать полную графическую версию : grep регулярные выражения
dogidogi
28-05-2009, 13:56
есть txt файл, формата:
8(919)234543
8(923)234234
84742343245
надо с помощью grep -e
вывести все телефоны по шаблону : grep -e "(8\([0-9]{3})[0-9]{7}\))$"
grep ничего не выдаете, помогите найти ошибку
egrep '^8\([0-9]{3}\)[0-9]{6}$' file.txt
после скобок у Вас 6 знаков, а не 7
dogidogi
28-05-2009, 15:04
проходит без ошибок, но результат не выводит (
На том примере что Вы привели работает:
[bugfix@darkstar ~]$ cat file.txt
8(919)234543
8(923)234234
84742343245
[bugfix@darkstar ~]$ egrep '^8\([0-9]{3}\)[0-9]{6}$' file.txt
8(919)234543
8(923)234234
[bugfix@darkstar ~]$
Укажите точно что нужно выбрать, возможно пример неверный ?
dogidogi
28-05-2009, 17:29
marat@ubuntu:~$ cat 1.txt
8(910)3591462 Alexey
8(919)4567842 Marat
84742453672 Avdotiy
46-09-18
marat@ubuntu:~$ egrep '^8\([0-9]{3}\)[0-9]{7}$' 1.txt
marat@ubuntu:~$
А что нужно выбирать из этого примера то? все номера телефонов ?
Ну а тот греп что я предлагал не работает из-за того что в предыдущем примере конец строки все-таки находился в другом месте.
dogidogi
28-05-2009, 21:17
надо выбрать номера сотовых телефонов со скобочками, ну и соответственно кому они принадлежат, должно получиться :
8(910)3591462 Alexey
8(919)4567842 Marat
egrep '^8\([0-9]{3}\)[0-9]{6}.*' file.txt
dogidogi
28-05-2009, 22:54
все огромное спасибо, так вроде заработала, а как теперь вывести и именами людей?
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.