Silviu Marin-Caea <[EMAIL PROTECTED]> scria la data de 17 Octombrie 2005:
> Am niste fisiere de forma
> 
> prima linie bla-bla gogu bla-bla
> a doua linie
> a treia linie
> 1001 bla-bla goguleanu bla-bla
> restul de linii
> 
> Ma intereseaza un regexp care sa selecteze numai fisierele care contin 
> gogu pe prima linie si goguleanu pe linia unde scrie 1001.
> 
> Am incercat ceva de genu
> 
> grep 'gogu.*$[^.*$]*^1001.*goguleanu' *
> 
> dar nu merge, adica nu selecteaza nimic.
> 
> M-am gandit ca partea cu [^.*$]* ar trebui sa match-uiasca orice linie 
> care se afla intre gogu si 1001 + goguleanu.
> 
> Dar probabil e ceva ce nu stiu eu.

for f in *; do
  if [ -f "$f" ]; then
    test `head -1 "$f" | grep -c gogu` -ge 1 && grep -l '^1001.*goguleanu' "$f"
  fi
done

    Salutari,

    Liviu Daia

-- 
Dr. Liviu Daia                                  http://www.imar.ro/~daia

_______________________________________________
RLUG mailing list
[email protected]
http://lists.lug.ro/mailman/listinfo/rlug

Raspunde prin e-mail lui