Finden Sie gemeinsame Linien zwischen mehreren Dateien


20

Ich habe 4 Dateien, die wie sind

       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

Alle Dateien enthalten mehr als 2000 Zeilen und sind nach der ersten Spalte sortiert.

Ich möchte gemeinsame Zeilen in allen Dateien finden. Ich habe awk und grep and comm ausprobiert, aber nicht funktioniert

Antworten:



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

Speichern Sie das sed, um doppelte Zeilen in vielen Dateien zu finden: catbis sortbis uniq -c. Irgendwie habe ich nicht ganz darüber nachgedacht, gute Antwort!
Smaslennikov

Sie können den Befehl uniq auch verwenden, um nur doppelte Zeilen zu drucken:uniq -cd
mems
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.