Re: Rechercher une ligne dans un gros fichier trié
J.Pierre Pourrez a écrit, mardi 16 novembre 2004, à 22:39 :
> Le 16/11/04 à 11:42, Yves Rutschle écrivait:
>
> > cat `find $DISTS_DIR -name Packages` | grep $MOTIF | sed "s!$MOTIF!$HOST/!" | sort > $TMPFILE2
>
> On peut simplifier un peu plus:
> find $DIST_DIR -name Packages -exec grep $MOTIF {} \; | sed "s!$MOTIF!$HOST/!" > $TMPFILE2
L'UUOC est supprimé, mais il reste un UUOG :)
... -exec sed -n "s!$MOTIF!$HOST/!p" ...
ou encore "\,$MOTIF,s,,$HOST/,p" (s'il n'y a pas de virgule dans le motif).
> Je n'ai pas de souci avec les points d'exclamation. Voici mon shell:
> jpierre@bazooka:~$ sh --version
> GNU bash, version 2.05b.0(1)-release (i386-pc-linux-gnu)
> Copyright (C) 2002 Free Software Foundation, Inc.
Avec zsh on pourrait aussi se passer de find.
--
Jacques L'helgoualc'h
Reply to: