J'ai pens=E9 =E0 diff, mais =E7a ne me donne pas le r=E9sultat que je voudr=
ais avoir en sortie, car je veux uniquement la liste des =E9l=E9ments pr=E9=
sents dans les deux fichiers uniquement=0A=0A----- Message d'origine ----=
=0ADe : Ludovic Cesar <Ludovic.Cesar@fedasil.be>=0A=C0 : Tahar <tahar_ba@ya=
hoo.fr>=0ACc : DEBIAN <debian-user-french@lists.debian.org>=0AEnvoy=E9 le :=
Mardi, 8 Avril 2008, 16h12mn 21s=0AObjet : RE [BASH] probl=E8me avec un s=
cript=0A=0A=0ASalut,=0A=0ANe pourrais-tu pas t'en sortir avec la commande"d=
iff" ?=0A=0A=0ALudo=0A=0A=0A=0A=0ATahar <tahar_ba@yahoo.fr>08/04/2008 15:45=
=0AA=0ADEBIAN <debian-user-french@lists.debian.org>cc=0A=0AObjet=0A[BASH] p=
robl=E8me avec un script=0A=0A=0A=0A=0A=0A=0ABonjour =E0 tous,=0A=0AJe disp=
ose de deux documents que je voudrais comparer, c'est =E0 dire jevoudrais s=
avoir quelle ligne du premier se trouve dans le second le r=E9sultatest red=
irig=E9 vers un fichier. j'ai utilis=E9 grep dans une boucle while pourcela=
, mais j'ai souvent le message file not found ou bien rien du toutalors que=
je suis certain qu'il y a une entr=E9e qui existe dans les deuxfichiers (u=
ne entr=E9e que j'ai rajout=E9 manuellement dans les deux pour mestests)=0A=
=0AVoici le script que j'avais =E9cris=0A=0A#!/bin/bash=0Awhile read line=
=0Ado=0A grep $line fichier1 >> comp_result=0Adone < fichier2=0A=0AJe ne=
sais pas ce qui coche, =E7a ne marche pas, quand je mets grep -w "$line"j'=
ai toujours aucun r=E9sultat comme si aucune entr=E9e du premier fichiern'e=
xiste dans le second.=0A=0AMerci pour votre aide=0A=0A=0A=0A
--0-589268827-1207664734=:18792
Content-Type: text/html; charset=iso-8859-1
Content-Transfer-Encoding: quoted-printable
<html><head><style type=3D"text/css"><!-- DIV {margin:0px;} --></style></he=
ad><body><div style=3D"font-family:times new roman, new york, times, serif;=
font-size:12pt"><div style=3D"font-family: times new roman,new york,times,s=
erif; font-size: 12pt;">J'ai pens=E9 =E0 diff, mais =E7a ne me donne pas le=
r=E9sultat que je voudrais avoir en sortie, car je veux uniquement la list=
e des =E9l=E9ments pr=E9sents dans les deux fichiers uniquement<br><br><div=
style=3D"font-family: times new roman,new york,times,serif; font-size: 12p=
t;">----- Message d'origine ----<br>De : Ludovic Cesar <Ludovic.Cesar@fe=
dasil.be><br>=C0 : Tahar <tahar_ba@yahoo.fr><br>Cc : DEBIAN <de=
bian-user-french@lists.debian.org><br>Envoy=E9 le : Mardi, 8 Avril 2008,=
16h12mn 21s<br>Objet : RE [BASH] probl=E8me avec un script<br><br>=
=0A<br><font face=3D"Arial" size=3D"2">Salut,</font>=0A<br>=0A<br><font fac=
e=3D"Arial" size=3D"2">Ne pourrais-tu pas t'en sortir avec la commande=0A"<=
b>diff</b>" ?</font>=0A<br>=0A<br>=0A<br><font face=3D"Arial" size=3D"2">Lu=
do</font>=0A<br>=0A<br>=0A<br>=0A<br>=0A<br>=0A<table width=3D"100%">=0A<tb=
ody><tr valign=3D"top">=0A<td width=3D"40%"><font face=3D"sans-serif" size=
=3D"1"><b>Tahar <tahar_ba@yahoo.fr></b>=0A</font>=0A<p><font face=3D"=
sans-serif" size=3D"1">08/04/2008 15:45</font>=0A</p></td><td width=3D"59%"=
>=0A<table width=3D"100%">=0A<tbody><tr>=0A<td>=0A<div align=3D"right"><fon=
t face=3D"sans-serif" size=3D"1">A</font></div>=0A</td><td valign=3D"top"><=
font face=3D"sans-serif" size=3D"1">DEBIAN <debian-user-french@lists.deb=
ian.org></font>=0A</td></tr><tr>=0A<td>=0A<div align=3D"right"><font fac=
e=3D"sans-serif" size=3D"1">cc</font></div>=0A</td><td valign=3D"top">=0A<b=
r></td></tr><tr>=0A<td>=0A<div align=3D"right"><font face=3D"sans-serif" si=
ze=3D"1">Objet</font></div>=0A</td><td valign=3D"top"><font face=3D"sans-se=
rif" size=3D"1">[BASH] probl=E8me avec un script</font></td></tr></tbody></=
table>=0A<br>=0A<table>=0A<tbody><tr valign=3D"top">=0A<td>=0A<br></td><td>=
<br></td></tr></tbody></table>=0A<br></td></tr></tbody></table>=0A<br>=0A<b=
r>=0A<br><font face=3D"Times" size=3D"3">Bonjour =E0 tous,<br>=0A<br>=0AJe =
dispose de deux documents que je voudrais comparer, c'est =E0 dire je=0Avou=
drais savoir quelle ligne du premier se trouve dans le second le r=E9sultat=
=0Aest redirig=E9 vers un fichier. j'ai utilis=E9 grep dans une boucle whil=
e pour=0Acela, mais j'ai souvent le message file not found ou bien rien du =
tout=0Aalors que je suis certain qu'il y a une entr=E9e qui existe dans les=
deux=0Afichiers (une entr=E9e que j'ai rajout=E9 manuellement dans les deu=
x pour mes=0Atests)<br>=0A<br>=0AVoici le script que j'avais =E9cris<br>=0A=
<br>=0A#!/bin/bash<br>=0Awhile read line<br>=0Ado<br>=0A grep =
$line fichier1 >> comp_result<br>=0Adone < fichier2<br>=0A<br>=0AJ=
e ne sais pas ce qui coche, =E7a ne marche pas, quand je mets grep -w "$lin=
e"=0Aj'ai toujours aucun r=E9sultat comme si aucune entr=E9e du premier fic=
hier=0An'existe dans le second.<br>=0A<br>=0AMerci pour votre aide</font>=
=0A<br></div><br></div></div></body></html>
--0-589268827-1207664734=:18792--
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter 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
-- Je sors dehors Le vent du printemps s'est pris Dans les saules -+- Chodô -+-
Eddy Touati
Sinon il y a toujours la solution perl
#!/usr/bin/perl -w
use strict;
my ($file1,$file2) = @ARGV;
my $ligne;
open(FILE1,"$file1");
foreach(<FILE1>){
$ligne = $_;
open(FILE2,"$file2");
foreach(<FILE2>){
if($ligne eq $_){
print;
}
}
close (FILE2);
}
close(FILE1);
François TOURDE a écrit :
Le 13977ième jour après Epoch, Tahar écrivait:
J'ai pensé à diff, mais ça ne me donne pas le résultat que je voudrais avoir en sortie, car je veux uniquement la liste des éléments présents dans les deux fichiers uniquement
-- Le progrès technique est comme une hache qu'on aurait mis dans les mains d'un psychopathe
(Albert Einstein)
--
Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement.
(Albert Einstein)
-- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/DebFrFrenchLists Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
Sinon il y a toujours la solution perl
#!/usr/bin/perl
-w
use
strict;
my ($file1,$file2) =
@ARGV;
my
$ligne;
open(FILE1,"$file1");
foreach(<FILE1>){
$ligne =
$_;
open(FILE2,"$file2");
foreach(<FILE2>){
if($ligne eq
$_){
print;
}
}
close
(FILE2);
}
close(FILE1);
François TOURDE a écrit :
Le 13977ième jour après Epoch,
Tahar écrivait:
J'ai pensé à diff, mais ça ne me donne pas le résultat que je
voudrais avoir en sortie, car je veux uniquement la liste des
éléments présents dans les deux fichiers uniquement
--
Le progrès technique est comme une hache qu'on aurait mis dans les mains d'un psychopathe
(Albert Einstein)
--
Si vous ne pouvez expliquer un concept à un enfant de six ans,
c'est que vous ne le comprenez pas complètement.
(Albert Einstein)
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter 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
J'ai pensé à diff, mais ça ne me donne pas le résultat que je voudrais avoir en sortie, car je veux uniquement la liste des éléments présents dans les deux fichiers uniquement
-- Le progrès technique est comme une hache qu'on aurait mis dans les mains d'un psychopathe
(Albert Einstein)
--
Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement.
(Albert Einstein)
-- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/DebFrFrenchLists Vous pouvez aussi ajouter 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
François TOURDE a écrit, mardi 8 avril 2008, à 17:13 : [...]
-- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/DebFrFrenchLists Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
François TOURDE a écrit, mardi 8 avril 2008, à 17:13 :
[...]
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter 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
-- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/DebFrFrenchLists Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
Yves Rutschle
On Tue, Apr 08, 2008 at 07:58:20PM +0200, Jacques L'helgoualc'h wrote:
-- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/DebFrFrenchLists Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
On Tue, Apr 08, 2008 at 07:58:20PM +0200, Jacques L'helgoualc'h wrote:
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter 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
-- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/DebFrFrenchLists Vous pouvez aussi ajouter 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
Yves Rutschle a écrit, mercredi 9 avril 2008, à 10:23 :
On Tue, Apr 08, 2008 at 07:58:20PM +0200, Jacques L'helgoualc'h wrote: > { sort -u fic1; sort -u fic2; }|sort|uniq -d
Merci, mais j'ai juste élagué la solution de François Tourde ; le triple awk, analogue à ta solution, évite les tris inutiles. -- Jacques L'helgoualc'h
-- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/DebFrFrenchLists Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
Yves Rutschle a écrit, mercredi 9 avril 2008, à 10:23 :
On Tue, Apr 08, 2008 at 07:58:20PM +0200, Jacques L'helgoualc'h wrote:
> { sort -u fic1; sort -u fic2; }|sort|uniq -d
Merci, mais j'ai juste élagué la solution de François Tourde ; le triple
awk, analogue à ta solution, évite les tris inutiles.
--
Jacques L'helgoualc'h
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter 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
Merci, mais j'ai juste élagué la solution de François Tourde ; le triple awk, analogue à ta solution, évite les tris inutiles. -- Jacques L'helgoualc'h
-- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/DebFrFrenchLists Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
François TOURDE a écrit, jeudi 10 avril 2008, à 11:29 :
Le 13978ième jour après Epoch, Jacques L'helgoualc'h écrivait: > Yves Rutschle a écrit, mercredi 9 avril 2008, à 10:23 : >> On Tue, Apr 08, 2008 at 07:58:20PM +0200, Jacques L'helgoualc'h wrote: >> > { sort -u fic1; sort -u fic2; }|sort|uniq -d >> >> Wow. J'ai une solution en 2 lignes de perl: >> >> my %f1 = map { $_ => 1 } `cat $ARGV[0]`; >> print grep { $f1{$_} } `cat $ARGV[1]`; >> >> mais tu gagnes de loin. Élegant et court :) > > Merci, mais j'ai juste élagué la solution de François Tourde ; le triple > awk, analogue à ta solution, évite les tris inutiles.
Mais ta solution a l'avantage de montrer qu'en lisant un peu plus attentivement la doc des filtres, on a souvent toutes les réponses aux questions qu'on se pose ;)
Ben oui, --help c'est utile :)
Élagons, élagons, il en restera toujours quelque chose ^^
Si mes souvenirs sont bons, dans le sketch des oranges de Fernand Raynaud il ne reste plus grand-chose à la fin... -- Jacques L'helgoualc'h
-- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/DebFrFrenchLists Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
François TOURDE a écrit, jeudi 10 avril 2008, à 11:29 :
Le 13978ième jour après Epoch, Jacques L'helgoualc'h écrivait:
> Yves Rutschle a écrit, mercredi 9 avril 2008, à 10:23 :
>> On Tue, Apr 08, 2008 at 07:58:20PM +0200, Jacques L'helgoualc'h wrote:
>> > { sort -u fic1; sort -u fic2; }|sort|uniq -d
>>
>> Wow. J'ai une solution en 2 lignes de perl:
>>
>> my %f1 = map { $_ => 1 } `cat $ARGV[0]`;
>> print grep { $f1{$_} } `cat $ARGV[1]`;
>>
>> mais tu gagnes de loin. Élegant et court :)
>
> Merci, mais j'ai juste élagué la solution de François Tourde ; le triple
> awk, analogue à ta solution, évite les tris inutiles.
Mais ta solution a l'avantage de montrer qu'en lisant un peu plus
attentivement la doc des filtres, on a souvent toutes les réponses aux
questions qu'on se pose ;)
Ben oui, --help c'est utile :)
Élagons, élagons, il en restera toujours quelque chose ^^
Si mes souvenirs sont bons, dans le sketch des oranges de Fernand
Raynaud il ne reste plus grand-chose à la fin...
--
Jacques L'helgoualc'h
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter 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
François TOURDE a écrit, jeudi 10 avril 2008, à 11:29 :
Le 13978ième jour après Epoch, Jacques L'helgoualc'h écrivait: > Yves Rutschle a écrit, mercredi 9 avril 2008, à 10:23 : >> On Tue, Apr 08, 2008 at 07:58:20PM +0200, Jacques L'helgoualc'h wrote: >> > { sort -u fic1; sort -u fic2; }|sort|uniq -d >> >> Wow. J'ai une solution en 2 lignes de perl: >> >> my %f1 = map { $_ => 1 } `cat $ARGV[0]`; >> print grep { $f1{$_} } `cat $ARGV[1]`; >> >> mais tu gagnes de loin. Élegant et court :) > > Merci, mais j'ai juste élagué la solution de François Tourde ; le triple > awk, analogue à ta solution, évite les tris inutiles.
Mais ta solution a l'avantage de montrer qu'en lisant un peu plus attentivement la doc des filtres, on a souvent toutes les réponses aux questions qu'on se pose ;)
Ben oui, --help c'est utile :)
Élagons, élagons, il en restera toujours quelque chose ^^
Si mes souvenirs sont bons, dans le sketch des oranges de Fernand Raynaud il ne reste plus grand-chose à la fin... -- Jacques L'helgoualc'h
-- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.org/DebFrFrenchLists Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact