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 [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Répondre à