Das ganze soll bei uns auf Arbeit laufen. Da werden Logfiles ausgegeben, die ich in eine Textdatei "umspeichere". Jede Logfile hat genau 1 Zeile (daher 'awk 1'; cat hat hier die eine Zeile
und eine Leerzeile kopiert). Die Datei soll immer weiter ergänzt werden, daher kommen immer wieder neuen Zeilen hinzu. Das ist kein Vorgang der einmal abläuft und fertig. Das Programm, dass diese Logfiles erstellt wurde von einem ehemaligen Mitarbeiter geschrieben und ist (vermutlich) ein Unicat
Ich will auch mein bisheriges Vorgehen nicht zu stark ändern, dass sich das bewährt hat und eine Datei erzeugt wie sie sein soll.
tobo hat geschrieben: 05.04.2018 12:12:34
Ist das was?
Code: Alles auswählen
find /home/richard/ -type f -name "*.log" -exec sed -n 1p {} \; >> /home/richard/zusammen.log
Fügt die Textzeile dennoch unten an.
@ Meillo
Dein Vorschlag geht davon aus, dass die Dateien einmalig vorliegen. Sie werden aber immer wieder erstellt und sollen immer wieder ergänzt werden. Das hätte ich vielleicht mit schreiben sollen.
Was du mit der ``ersten Zeile'' meinst, verstehe ich noch nicht. `awk 1 datei' gibt die ganze Datei aus, weil `1' true ist und die Default-Aktion `print' ist.
Bei mir war es so, dass wenn ich mit cat kopiert habe eine Leerzeile mit kopiert wurde, bei awk nicht. Daher awk. Es ging mir auch darum erstmal ein funktionierendes Skript zu haben.
Mal eine Alternative mit head
Irgendeinen Pferdefuß hatte ich head - ich hab aber vergessen welcher.
Hab da zu viele Varianten durchprobiert.