2017-06-16 1 views
0

Ich habe eine Datei A mit InhaltGrep ein Feld in jeder Zeile einer Datei in einer anderen Datei, vereinheitlichende Ergebnisse

id_7 name_7 
id_10 name_10 
.... 

und eine andere Datei B mit allen ids:

id_1 ssn_1 
id_2 ssn_2 
..... 

Ich möchte grep das erste Feld (ID_7, id_10 ...) in der zweiten Datei, jedoch möchte ich die Spiele Ausgabe wie folgt sein:

id_1 ssn_1 name_1 
.... 

Wie kann ich tun dies schnell (Millionen von Zeilen in jeder Datei)?

+4

suchen Sie hier nach Beispielen des 'join' cmd. – shellter

+1

'join -j 1 Datei2 Datei1' – anubhava

Antwort

2

Wenn join mit jeder Zeile jeder Datei umgehen, hängt es vom allgemeinen Feld ab, daher sollte es so sortiert werden, dass das gemeinsame Feld dasselbe ist.

join -j 1 <(sort -k 1 file1) <(sort -k 1 file2) 
Verwandte Themen