Besoin d'aide expression simple avec grep
Résolu
ludy
-
ludy -
ludy -
Bonjour,
voilà mon pb, j'ai deux fichier du type :
seq1
seq2
seq3
... et un autre du genre
seq1
seq3
et je voudrais obtenir un nouveau fichier qui correspondrais au fichier 1 moins ce qu'il y a dans mon fichier 2 (soit dans cet exemple, seq2)
j'ai essayé
grep -v-f fichier2.txt fichier1.txt >fichier3.txt mais cela me donne la même chose que le fichier 1...
je pense qu'il sélectionne tout ce qui ne contient pas seq1(1ère ligne de fichier2) puis tout ce qui ne contient pas seq3 (2ème ligne de fichier 2) et qu'au final, je me retrouve avec tout mon fichier1...
quelqu'un saurait-il comment je dois m'y prendre ?
merci d'avance.
Ludivine
voilà mon pb, j'ai deux fichier du type :
seq1
seq2
seq3
... et un autre du genre
seq1
seq3
et je voudrais obtenir un nouveau fichier qui correspondrais au fichier 1 moins ce qu'il y a dans mon fichier 2 (soit dans cet exemple, seq2)
j'ai essayé
grep -v-f fichier2.txt fichier1.txt >fichier3.txt mais cela me donne la même chose que le fichier 1...
je pense qu'il sélectionne tout ce qui ne contient pas seq1(1ère ligne de fichier2) puis tout ce qui ne contient pas seq3 (2ème ligne de fichier 2) et qu'au final, je me retrouve avec tout mon fichier1...
quelqu'un saurait-il comment je dois m'y prendre ?
merci d'avance.
Ludivine
A voir également:
- Multiple grep in one line
- In da place - Forum Mail
- Dc in - Forum Audio
- Deco in paris avis ✓ - Forum Consommation & Internet
- Navigation in private - Guide
- Paris multiple 2/5 explication ✓ - Forum Loisirs / Divertissements
5 réponses
Salut,
Utilises plutôt les commandes du shell telles que "sort" et "uniq" qui sont beaucoup plus adaptées à ton cas :
Utilises plutôt les commandes du shell telles que "sort" et "uniq" qui sont beaucoup plus adaptées à ton cas :
$ $ cat A seq1 seq2 seq3 $ cat B seq1 seq3 $ cat A B | sort | uniq -u seq2 $Pour une redirection dans un fichier écrits la commande comme ça :
cat A B | sort | uniq -u > C;-))
pourquoi ne pas utiliser la commande comm ?
NAME comm - compare two sorted files line by line SYNOPSIS comm [OPTION]... FILE1 FILE2 DESCRIPTION Compare sorted files FILE1 and FILE2 line by line. With no options, produce three-column output. Column one contains lines unique to FILE1, column two contains lines unique to FILE2, and column three contains lines common to both files. -1 suppress lines unique to FILE1 -2 suppress lines unique to FILE2 -3 suppress lines that appear in both files
Merci de vos réponses
mais il semble qu'avec sort et uniq, ça me supprime seq1 mais également seq10, non ?
mais il semble qu'avec sort et uniq, ça me supprime seq1 mais également seq10, non ?
Euh... ça supprime tout ce qui est en double et ne laisse que ce qui est unique conformément à ton souhait : "je voudrais obtenir un nouveau fichier qui correspondrais au fichier 1 moins ce qu'il y a dans mon fichier 2 (soit dans cet exemple, seq2) " ;-))
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question