Datei sortieren mit Input aus zweiter Datei

A

abenstex

Grünschnabel
Hallo zusammen,

ich habe zwei Dateien. Eine mit ca. 40 Spalten und eine mit nur einer Spalte. Jetzt würde ich gerne die erste Datei an Hand der Reihenfolge der Einträge in der zweiten Spalte sortieren. Wie mach ich das am besten?

Beispiel:
Datei 1:
2 a b c d ...
1 e a d e ...

Datei 2:
1
2
3
4
...

Jetzt hätte ich gerne, dass Datei 1 entsprechend den Einträgen von Datei 2 sortiert wird. Das Problem ist allerdings, dass die Spalten nicht numerisch sind, das war oben nur ein Beispiel!

Danke
Christian
 
Wenn die Zuordnung in den Dateien eindeutig ist:
Code:
#!/bin/bash
cat $1 | while read a; do
grep "^$a" $2
done
Die Datei mit der Ordnung als ersten, die zu sortierende Datei als zweiten Parameter übergeben
 
Mein Vorschlag :
Ebenfalls eindeutige Zuordnung:
wolle@Nietzsche:/tmp
$ cat datei1
a 5 r z u 2 f
c 2 k p l o p
z 5 6 s p t t
b h l d r p x
m i o v g 2 5
5 j k p t u r

wolle@Nietzsche:/tmp
$ cat datei2
a
b
c
5
m
z

wolle@Nietzsche:/tmp
$ perl -anle '(@ARGV >0)?$h{$F[0]}=$_:($h{$_})?print $h{$_}:1' datei1 datei2
a 5 r z u 2 f
b h l d r p x
c 2 k p l o p
5 j k p t u r
m i o v g 2 5
z 5 6 s p t t

Gruß Wolfgang
 

Ähnliche Themen

Spalten einer Datei in neue Datei integrieren.

[Gelöst] Suchen und ersetzen mit Hilfe mehrerer Parameter

Dateien auslesen und Daten systematisch angeordnet in Datei ausgeben

[gelöst] Sortierung von Zeilen

Gnome Classic Desktop: Home-Inhalt Icons ausblenden

Zurück
Oben