J'utilise grep pour rechercher une ligne dans un fichier trié de 14000
lignes.
Je suppose que la recherche se fait ligne par ligne dans le fichier et
cela me semble un peu bourrin quand la recherche s'effectue plusieurs
centaines de fois.
Existe-t-il un remplaçant pour grep qui effectue une recherche plus
rapide genre recherche par dichotomie ?
Je souhaite utiliser cela dans un script shell.
D'avance merci
Jean-Pierre
--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
On peut simplifier un peu plus: find $DIST_DIR -name Packages -exec grep $MOTIF {} ; | sed "s!$MOTIF!$HOST/!" > $TMPFILE2
Je n'ai pas de souci avec les points d'exclamation. Voici mon shell: :~$ sh --version GNU bash, version 2.05b.0(1)-release (i386-pc-linux-gnu) Copyright (C) 2002 Free Software Foundation, Inc.
A++ Jean-Pierre
-- Pensez à lire la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench
Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
On peut simplifier un peu plus:
find $DIST_DIR -name Packages -exec grep $MOTIF {} ; | sed "s!$MOTIF!$HOST/!" > $TMPFILE2
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.
A++
Jean-Pierre
--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
On peut simplifier un peu plus: find $DIST_DIR -name Packages -exec grep $MOTIF {} ; | sed "s!$MOTIF!$HOST/!" > $TMPFILE2
Je n'ai pas de souci avec les points d'exclamation. Voici mon shell: :~$ sh --version GNU bash, version 2.05b.0(1)-release (i386-pc-linux-gnu) Copyright (C) 2002 Free Software Foundation, Inc.
A++ Jean-Pierre
-- Pensez à lire la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench
Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
Jacques L'helgoualc'h
J.Pierre Pourrez a écrit, mardi 16 novembre 2004, à 22:39 :
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: :~$ 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
-- Pensez à lire la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench
Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
J.Pierre Pourrez a écrit, mardi 16 novembre 2004, à 22:39 :
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
--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
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: :~$ 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
-- Pensez à lire la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench
Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
Marc Bobillier
* Pierre Meurisse [2004-11-16 05:32:15 +0100]:
On Mon, Nov 15, 2004 at 06:27:08PM +0100, Sebastien Mathy wrote: > Le Lundi 15 Novembre 2004 18:03, Pierre Meurisse a écrit : > > A propos, mon répertoire /var/cache/apt/archives enfle de façon > > dramatique. Si quelqu'un connait une façon de contourner ... > > apt-get clean ? > je connais, mais il y avait avant :
> il y a aussi apt-move, qui forme une arborescence debian à partir des > fichiers trouvés dans /var/cache/apt/archives, ...
Je garde donc mes paquets en réserve en espérant que le bug va bientôt être corrigé.
apt-get autoclean (ne garde que les paquets ne pouvant plus être téléchargés).
-- marc
-- Pensez à lire la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench
Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
* Pierre Meurisse [2004-11-16 05:32:15 +0100]:
On Mon, Nov 15, 2004 at 06:27:08PM +0100, Sebastien Mathy wrote:
> Le Lundi 15 Novembre 2004 18:03, Pierre Meurisse a écrit :
> > A propos, mon répertoire /var/cache/apt/archives enfle de façon
> > dramatique. Si quelqu'un connait une façon de contourner ...
>
> apt-get clean ?
>
je connais, mais il y avait avant :
> il y a aussi apt-move, qui forme une arborescence debian à partir des
> fichiers trouvés dans /var/cache/apt/archives, ...
Je garde donc mes paquets en réserve en espérant que le bug va bientôt
être corrigé.
apt-get autoclean
(ne garde que les paquets ne pouvant plus être téléchargés).
--
marc
--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
On Mon, Nov 15, 2004 at 06:27:08PM +0100, Sebastien Mathy wrote: > Le Lundi 15 Novembre 2004 18:03, Pierre Meurisse a écrit : > > A propos, mon répertoire /var/cache/apt/archives enfle de façon > > dramatique. Si quelqu'un connait une façon de contourner ... > > apt-get clean ? > je connais, mais il y avait avant :
> il y a aussi apt-move, qui forme une arborescence debian à partir des > fichiers trouvés dans /var/cache/apt/archives, ...
Je garde donc mes paquets en réserve en espérant que le bug va bientôt être corrigé.
apt-get autoclean (ne garde que les paquets ne pouvant plus être téléchargés).
-- marc
-- Pensez à lire la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench
Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
Jean-Michel OLTRA
bonjour,
Le dimanche 14 novembre 2004, J.Pierre Pourrez a écrit...
> Ceci étant dit, une solution pourrait être d'utiliser un fichier > indexé NDBM ou DBM ou DB pour ça.
Je ne trouve un outil simple pour rechercher une clé dans une base DBM à partir d'un script shell
J'ai écrit quelques lignes en C qui permettent de rechercher une entrée à partir d'une clé (pour une base db). Je l'ai liée à la libdb4.2 pour pouvoir tester sur les .db de postfix.
C'est sans prétention et un peu plus de détection d'erreur ne ferait pas de mal. Si tu en veux, à tes risques et périls...
Ça n'ouvre pas les bases qui ont été créées avec un nom de base. Enfin, ça les ouvre mais on ne peut pas exploiter ce qui est dedans (je n'ai pas réussi à trouver le truc, ni même à récupérer le nom des bases dans le fichier).
-- jm
-- Pensez à lire la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench
Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
bonjour,
Le dimanche 14 novembre 2004, J.Pierre Pourrez a écrit...
> Ceci étant dit, une solution pourrait être d'utiliser un fichier
> indexé NDBM ou DBM ou DB pour ça.
Je ne trouve un outil simple pour rechercher une clé dans une base DBM à
partir d'un script shell
J'ai écrit quelques lignes en C qui permettent de rechercher une entrée
à partir d'une clé (pour une base db). Je l'ai liée à la libdb4.2 pour
pouvoir tester sur les .db de postfix.
C'est sans prétention et un peu plus de détection d'erreur ne ferait pas
de mal. Si tu en veux, à tes risques et périls...
Ça n'ouvre pas les bases qui ont été créées avec un nom de base. Enfin,
ça les ouvre mais on ne peut pas exploiter ce qui est dedans (je n'ai
pas réussi à trouver le truc, ni même à récupérer le nom des bases dans
le fichier).
--
jm
--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Le dimanche 14 novembre 2004, J.Pierre Pourrez a écrit...
> Ceci étant dit, une solution pourrait être d'utiliser un fichier > indexé NDBM ou DBM ou DB pour ça.
Je ne trouve un outil simple pour rechercher une clé dans une base DBM à partir d'un script shell
J'ai écrit quelques lignes en C qui permettent de rechercher une entrée à partir d'une clé (pour une base db). Je l'ai liée à la libdb4.2 pour pouvoir tester sur les .db de postfix.
C'est sans prétention et un peu plus de détection d'erreur ne ferait pas de mal. Si tu en veux, à tes risques et périls...
Ça n'ouvre pas les bases qui ont été créées avec un nom de base. Enfin, ça les ouvre mais on ne peut pas exploiter ce qui est dedans (je n'ai pas réussi à trouver le truc, ni même à récupérer le nom des bases dans le fichier).
-- jm
-- Pensez à lire la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench
Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
Pierre Meurisse
Bonjour,
On Wed, Nov 17, 2004 at 06:18:57PM +0100, Marc Bobillier wrote:
... apt-get autoclean (ne garde que les paquets ne pouvant plus être téléchargés).
ou plutôt ne _supprime_ que les paquets ne pouvant plus être téléchargés (indisponibles car anciennes versions).
Merci. Je n'avais pas encore eu le temps de tester. C'est exactement ce qu'il me faut en attendant la correction du bug gawk - apt-move.
Je mets les paquets téléchargés à la disposition des autres machines par ftp après avoir supprimé les paquets inutiles et créé Packages.gz avec dpkg-scanpackages.
A+
-- Pierre Meurisse Utilisateur Linux n° 160794
-- Pensez à lire la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench
Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
Bonjour,
On Wed, Nov 17, 2004 at 06:18:57PM +0100, Marc Bobillier wrote:
...
apt-get autoclean
(ne garde que les paquets ne pouvant plus être téléchargés).
ou plutôt ne _supprime_ que les paquets ne pouvant plus être téléchargés
(indisponibles car anciennes versions).
Merci. Je n'avais pas encore eu le temps de tester. C'est exactement ce
qu'il me faut en attendant la correction du bug gawk - apt-move.
Je mets les paquets téléchargés à la disposition des autres machines par
ftp après avoir supprimé les paquets inutiles et créé Packages.gz avec
dpkg-scanpackages.
A+
--
Pierre Meurisse
Utilisateur Linux n° 160794
--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
On Wed, Nov 17, 2004 at 06:18:57PM +0100, Marc Bobillier wrote:
... apt-get autoclean (ne garde que les paquets ne pouvant plus être téléchargés).
ou plutôt ne _supprime_ que les paquets ne pouvant plus être téléchargés (indisponibles car anciennes versions).
Merci. Je n'avais pas encore eu le temps de tester. C'est exactement ce qu'il me faut en attendant la correction du bug gawk - apt-move.
Je mets les paquets téléchargés à la disposition des autres machines par ftp après avoir supprimé les paquets inutiles et créé Packages.gz avec dpkg-scanpackages.
A+
-- Pierre Meurisse Utilisateur Linux n° 160794
-- Pensez à lire la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench
Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact