Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[BASH] problème avec un script

5 réponses
Avatar
Tahar
--0-565056425-1207662339=:94147
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: quoted-printable

Bonjour =E0 tous,=0A=0AJe dispose de deux documents que je voudrais compare=
r, c'est =E0 dire je voudrais savoir quelle ligne du premier se trouve dans=
le second le r=E9sultat est redirig=E9 vers un fichier. j'ai utilis=E9 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=E9e q=
ui existe dans les deux fichiers (une entr=E9e que j'ai rajout=E9 manuellem=
ent dans les deux pour mes tests)=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 p=
as, quand je mets grep -w "$line" j'ai toujours aucun r=E9sultat comme si a=
ucune entr=E9e du premier fichier n'existe dans le second.=0A=0AMerci pour =
votre aide=0A=0A
--0-565056425-1207662339=:94147
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>Bonjour =E0 tous,<br><br>Je dispose de deux documents =
que je voudrais comparer, c'est =E0 dire je voudrais savoir quelle ligne du=
premier se trouve dans le second le r=E9sultat est redirig=E9 vers un fich=
ier. j'ai utilis=E9 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=E9e qui existe dans les deux fichiers (une entr=E9e que j=
'ai rajout=E9 manuellement dans les deux pour mes tests)<br><br>Voici le sc=
ript que j'avais =E9cris<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, =E7a ne marche pas, quand je mets g=
rep -w "$line" j'ai toujours aucun r=E9sultat comme si aucune entr=E9e 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

5 réponses

Avatar
Ludovic Cesar
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>
<td width@%><font size=1 face="sans-serif"><b>Tahar &lt;tahar_ba@ yahoo.fr&gt;</b>
</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>
<td valign=top><font size=1 face="sans-serif">DEBIAN &lt;debian-user- &gt;</font>
<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
Avatar
Yves Rutschle
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
Avatar
GiGGz
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
Avatar
Edi Stojicevic
* GiGGz [2008-04-08 16:21:55 +0200] wrote :
[...]
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
Avatar
Jacques L'helgoualc'h
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