[BASH] problème avec un script

Le
Tahar
--0-565056425-1207662339=:94147
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: quoted-printable

Bonjour à tous, Je dispose de deux documents que je voudrais compare=
r, c'est à dire je voudrais savoir quelle ligne du premier se trouve dans=
le second le résultat est redirigé vers un fichier. j'ai utilisé gre=
p dans une boucle while pour cela, mais j'ai souvent le message file not fo=
und ou bien rien du tout alors que je suis certain qu'il y a une entrée q=
ui existe dans les deux fichiers (une entrée que j'ai rajouté manuellem=
ent dans les deux pour mes tests) Voici le script que j'avais écris=
#!/bin/bash while read line do grep $line fichier1 >> comp_=
result done < fichier2 Je ne sais pas ce qui coche, ça ne marche p=
as, quand je mets grep -w "$line" j'ai toujours aucun résultat comme si a=
ucune entrée du premier fichier n'existe dans le second. Merci pour =
votre aide
--0-565056425-1207662339=:94147
Content-Type: text/html; charset=iso-8859-1
Content-Transfer-Encoding: quoted-printable

<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></he=
ad><body><div style="font-family:times new roman, new york, times, serif;=
font-size:12pt"><div>Bonjour à tous,<br><br>Je dispose de deux documents =
que je voudrais comparer, c'est à dire je voudrais savoir quelle ligne du=
premier se trouve dans le second le résultat est redirigé vers un fich=
ier. j'ai utilisé grep dans une boucle while pour cela, mais j'ai souvent=
le message file not found ou bien rien du tout alors que je suis certain q=
u'il y a une entrée qui existe dans les deux fichiers (une entrée que j=
'ai rajouté manuellement dans les deux pour mes tests)<br><br>Voici le sc=
ript que j'avais écris<br><br>#!/bin/bash<br>while read line<br>do<br>&nb=
sp;&nbsp;&nbsp; grep $line fichier1 &gt;&gt; comp_result<br>done &lt; fichi=
er2<br><br>Je ne sais pas ce qui coche, ça ne marche pas, quand je mets g=
rep -w "$line" j'ai toujours aucun résultat comme si aucune entrée du p=
remier
fichier n'existe dans le second.<br><br>Merci pour votre aide<br></div></d=
iv></body></html>
--0-565056425-1207662339=:94147--

--
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Ludovic Cesar
Le #9691641
Message en plusieurs parties au format MIME
--=_alternative 004E0959C1257425_ Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="ISO-8859-1"

Salut,

Ne pourrais-tu pas t'en sortir avec la commande "diff" ?


Ludo





Tahar 08/04/2008 15:45

A
DEBIAN cc

Objet
[BASH] problème avec un script






Bonjour à tous,

Je dispose de deux documents que je voudrais comparer, c'est à dire je
voudrais savoir quelle ligne du premier se trouve dans le second le
résultat est redirigé vers un fichier. j'ai utilisé grep dans une bou cle
while pour cela, mais j'ai souvent le message file not found ou bien rien
du tout alors que je suis certain qu'il y a une entrée qui existe dans le s
deux fichiers (une entrée que j'ai rajouté manuellement dans les deux p our
mes tests)

Voici le script que j'avais écris

#!/bin/bash
while read line
do
grep $line fichier1 >> comp_result
done < fichier2

Je ne sais pas ce qui coche, ça ne marche pas, quand je mets grep -w
"$line" j'ai toujours aucun résultat comme si aucune entrée du premier
fichier n'existe dans le second.

Merci pour votre aide

--=_alternative 004E0959C1257425_ Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset="ISO-8859-1"


<br><font size=2 face="Arial">Salut,</font>
<br>
<br><font size=2 face="Arial">Ne pourrais-tu pas t'en sortir avec la co mmande
&quot;<b>diff</b>&quot; ?</font>
<br>
<br>
<br><font size=2 face="Arial">Ludo</font>
<br>
<br>
<br>
<br>
<br>
<table width0%>
<tr valign=top>
</font>
<p><font size=1 face="sans-serif">08/04/2008 15:45</font>
<td widthY%>
<table width0%>
<tr>
<td>
<div align=right><font size=1 face="sans-serif">A</font></div>
<tr>
<td>
<div align=right><font size=1 face="sans-serif">cc</font></div>
<td valign=top>
<tr>
<td>
<div align=right><font size=1 face="sans-serif">Objet</font></div>
<td valign=top><font size=1 face="sans-serif">[BASH] problème avec un script</font></table>
<br>
<table>
<tr valign=top>
<td>
<td></table>
<br></table>
<br>
<br>
<br><font size=3 face="Times">Bonjour à tous,<br>
<br>
Je dispose de deux documents que je voudrais comparer, c'est à dire je
voudrais savoir quelle ligne du premier se trouve dans le second le résul tat
est redirigé vers un fichier. j'ai utilisé grep dans une boucle while p our
cela, mais j'ai souvent le message file not found ou bien rien du tout
alors que je suis certain qu'il y a une entrée qui existe dans les deux
fichiers (une entrée que j'ai rajouté manuellement dans les deux pour m es
tests)<br>
<br>
Voici le script que j'avais écris<br>
<br>
#!/bin/bash<br>
while read line<br>
do<br>
&nbsp; &nbsp;grep $line fichier1 &gt;&gt; comp_result<br>
done &lt; fichier2<br>
<br>
Je ne sais pas ce qui coche, ça ne marche pas, quand je mets grep -w &quo t;$line&quot;
j'ai toujours aucun résultat comme si aucune entrée du premier fichier
n'existe dans le second.<br>
<br>
Merci pour votre aide</font>
<br>
--=_alternative 004E0959C1257425_=--

--
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
Le #9691611
On Tue, Apr 08, 2008 at 01:45:39PM +0000, Tahar wrote:
Bonjour à tous,

Je dispose de deux documents que je voudrais comparer, c'est à dire je voudrais savoir quelle ligne du premier se trouve dans le second le résultat est redirigé vers un fichier. j'ai utilisé grep dans une boucle while pour cela, mais j'ai souvent le message file not found ou bien rien du tout alors que je suis certain qu'il y a une entrée qui existe dans les deux fichiers (une entrée que j'ai rajouté manuellement dans les deux pour mes tests)

Voici le script que j'avais écris

#!/bin/bash
while read line
do
grep $line fichier1 >> comp_result
done < fichier2



S'il y a des espaces dans une ligne de fichier2, tu exécutes
un grep qui n'est pas ce que tu veux. Si par exemple une
ligne contient "ceci est une ligne", tu fais:

grep ceci est une ligne fichier1 >> comp_result

grep cherche 'ceci' dans les fichiers 'est', 'une', 'ligne',
'fichier1'.

Il faut mettre $line entre guillemets

Sinon, diff(1) doit être pls adapté pour ce que tu fais.

Y.

--
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
GiGGz
Le #9691601
Tahar a écrit :
Bonjour à tous,

Je dispose de deux documents que je voudrais comparer, c'est à dire je
voudrais savoir quelle ligne du premier se trouve dans le second le
résultat est redirigé vers un fichier. j'ai utilisé grep dans une boucle
while pour cela, mais j'ai souvent le message file not found ou bien
rien du tout alors que je suis certain qu'il y a une entrée qui existe
dans les deux fichiers (une entrée que j'ai rajouté manuellement dans
les deux pour mes tests)

Voici le script que j'avais écris

#!/bin/bash
while read line
do
grep $line fichier1 >> comp_result
done < fichier2

Je ne sais pas ce qui coche, ça ne marche pas, quand je mets grep -w
"$line" j'ai toujours aucun résultat comme si aucune entrée du premier
fichier n'existe dans le second.



utilise tkdiff sous x.


Merci pour votre aide



--
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
Edi Stojicevic
Le #9691581
* GiGGz [...]
Voici le script que j'avais écris

#!/bin/bash
while read line
do
grep $line fichier1 >> comp_result
done < fichier2

Je ne sais pas ce qui coche, ça ne marche pas, quand je mets grep -w
"$line" j'ai toujours aucun résultat comme si aucune entrée du premier
fichier n'existe dans le second.



utilise tkdiff sous x.



vim -d fichier1 fichier2

Sinon pour tout ce qui est script tu peux poster sur la liste
shellscript-fr. Pour plus d'infos :

http://debianworld.org/shellscript-fr

@+
--
. ''`. (___/) E d i S T O J I C E V I C
: :' : (='.'=) http://www.debianworld.org
`. `~' (")_(") GPG: 0x1237B032
`-

--
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
Le #9691491
Tahar a écrit, mardi 8 avril 2008, à 13:45 :
Bonjour à tous,



Bonjour,

Je dispose de deux documents que je voudrais comparer, c'est à dire je
voudrais savoir quelle ligne du premier se trouve dans le second le
résultat est redirigé vers un fichier. [...]



~ $ echo 'toto
]titi
]tata
]tutu
]glop
]' > fic1


~ $ echo '
]alpha
]bravo
]toto
]delta
]' > fic2



Avec le numéro de ligne,

~ $ grep -f fic1 -nF -- fic2
4:toto

La commande diff a des options utiles aussi (elasticité des espaces,
etc.).

Merci pour votre aide



de rien,
--
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
Publicité
Poster une réponse
Anonyme