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]