Daten einer Datei mit Werten einer anderen vervollständigen

O

Ollis

Grünschnabel
Hallo zusammen, such erfolglos, darum mein erstes posting...

Ich stehe gerade auf'm Schlauch - Folgendes Problem
2 Dateien liegen vor...

Datei 1 enthält

0123456""12:57
0123455"Gabi Testfrau"11:20
03215""10:30


Datei 2

0123456|Max Mustermann
0123455|Gabi Testerfrau


Ein shell-Script soll jetzt in der Datei 1 die fehlenden Einträge im 2. Feld suche und mit den Werten aus der Datei 2 (falls vorhanden) auffüllen.

Hat da jemand evtl. schon eine Lösung?

Danke schon mal Olli
 
Hallo
Bitte lies dir erstmal das durch.

Ein Lösung habe ich schon, nur muss erstmal geklärt werden, worüber wir reden.
Sonst sind meine Tipps eventuell falsch. ;)

Wolfgang
 
sorry,
das handelt sich um Neutrino Linux auf einer dbox 8o

Darum ist auch kein "join" vorhanden

<edit>
grep, awk und sed sind aber vorhanden,
ich glaube Bourne Shell, mehr finde ich darüber...
</edit>
 
Zuletzt bearbeitet:
Ich denke das hier sollte funktionieren, wenngleich ungetestet.

Folgende Vorgehensweise:
  1. wir setzen einen neuen IFS
  2. einlesen der Datei1
  3. prüfen, ob die zweite Var leer ist
  4. wenn ja, suchen nach der Zeile in Datei2 und setzen des Wertes mit cut mit Trennzeichen "|"
  5. Ausgeben der ganzen Line - dabei Einfügen der Hochkomma
Und hier der Code als Schnellschuß
Code:
IFS="\"|";
while read a b c;
do 
    if [ "x$b" = "x" ];
    then 
    b="$(grep "$a" Datei2|cut -d"|" -f2)";
    fi;
    echo -e ${a}\"${b}\"${c};
done < Datei1

Gruß Wolfgang
 
Hammer...
und auch noch schnell!!!

Ich sage lieber nicht wie mein Ansatz da war ;)

Danke
 

Ähnliche Themen

Mit AWK verschiedene Felder verschiedener Zeilen vergleichen

Shell Skript beschleunigen

CSV Datei mit sed manipulieren/optimieren/ergänzen

Bestimmte Dateien aus vielen Unterordnern löschen

Fedora 20 - Unlösbare Paket-Duplikat Konflikte

Zurück
Oben