Linux за българи: Форуми

Програмиране => Общ форум => Темата е започната от: console в Feb 13, 2008, 14:26



Титла: Помощ за grep
Публикувано от: console в Feb 13, 2008, 14:26
Здравейте!

Погледнете следната ситуация:
Примерен код
grep 227 file
199227 Ivan
227  Dragan


Тук целта ми е да извлека само реда който съдържа 227 т.е.
Примерен код
grep 227
227 Dragan


А не да ми изкарва и двата реда.
Има се в предвид ,че това го използвам в bash script.

Другият въпрос ми е как да извлека само името :

Примерен код
cat file
227 Dragan Sofia Mladost


И това също ще е в bash и ще има за цел да извлече само буквите.
Благодаря предварително


Титла: Помощ за grep
Публикувано от: radoulov в Feb 13, 2008, 14:56
Цитат (console @ Фев. 13 2008,15:26)
Погледнете следната ситуация:
Примерен код
grep 227 file
199227 Ivan
227  Dragan


Тук целта ми е да извлека само реда който съдържа 227 т.е.
Примерен код
grep 227
227 Dragan


Примерен код
grep '^227 ' file


Цитат
Примерен код
cat file
227 Dragan Sofia Mladost


И това също ще е в bash и ще има за цел да извлече само буквите.


Примерен код
% cat file
227 Dragan Sofia Mladost
% grep -o '[^0-9 ][^0-9]*$' file
Dragan Sofia Mladost
% cut -d" " -f2- file
Dragan Sofia Mladost


C zsh:

Примерен код
% print ${${$(<file)//[0-9]}# }
Dragan Sofia Mlados






Титла: Помощ за grep
Публикувано от: Йордан в Feb 13, 2008, 19:26
man egrep. Ползва регулярни изрази и на практика няма начин да не може да отсееш желаното ;)