trouver des lignes communes entre plusieurs fichiers


20

j'ai 4 fichiers qui sont comme

       file A
       >TCONS_00000867
       >TCONS_00001442
       >TCONS_00001447
       >TCONS_00001528
       >TCONS_00001529
       >TCONS_00001668
       >TCONS_00001921

       file b
       >TCONS_00001528
       >TCONS_00001529
       >TCONS_00001668
       >TCONS_00001921
       >TCONS_00001922
       >TCONS_00001924

       file c
       >TCONS_00001529
       >TCONS_00001668
       >TCONS_00001921
       >TCONS_00001922
       >TCONS_00001924
       >TCONS_00001956
       >TCONS_00002048

       file d
       >TCONS_00001922
       >TCONS_00001924
       >TCONS_00001956
       >TCONS_00002048

tous les fichiers contiennent plus de 2000 lignes et triés pour la première colonne.

je veux trouver des lignes communes dans tous les fichiers. j'ai essayé awk et grep et comm mais ne fonctionne pas

Réponses:



3
cat a b c d |sort |uniq -c |sed -n -e 's/^ *4 \(.*\)/\1/p'

En fait, l'économie sed, ce qui est très bon pour trouver des lignes en double dans de nombreux fichiers: catà sortla uniq -c. D'une certaine manière, je n'y ai pas vraiment pensé, bonne réponse!
smaslennikov

Vous pouvez également utiliser la commande uniq pour imprimer uniquement les lignes dupliquées:uniq -cd
mems
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.