Hi Ich möchte wie der Titel schon sag die Ausgebe von grep in ein Array umleiten dabei soll jede Zeile ein neuer eintrag im Array sein.
1 | cat datei.log | grep "error" >> $array |
geht leider nicht 
|
Anmeldungsdatum: Beiträge: 122 Wohnort: /home |
Hi Ich möchte wie der Titel schon sag die Ausgebe von grep in ein Array umleiten dabei soll jede Zeile ein neuer eintrag im Array sein.
geht leider nicht |
||
|
Moderator & Supporter
Anmeldungsdatum: Beiträge: 2039 |
Was hast Du dann mit den Daten vor? Generell bin ich immer vorsichtig damit, solche Ausgaben in Shell-Variablen abzulegen, da die Menge ja auch schon mal größer sein kann... Ciao robert PS: Dein Beispiel ist ein Anwärter für den "useless use of cat award". |
||
|
Anmeldungsdatum: Beiträge: 267 Wohnort: Franken |
Schau zu diesem Thema mal hier |
||
|
(Themenstarter)
Anmeldungsdatum: Beiträge: 122 Wohnort: /home |
|||
|
Anmeldungsdatum: Beiträge: 876 Wohnort: Terra incognita |
Hmmm - andere sind hier schlauer, aber: IFS=$'\n' # Zeilenumbruch als Trennzeichen für das Array array=( $(grep "error" datei.log) ) unset IFS # IFS wird wieder auf Standard gesetzt könnte funktionieren (ungetestet). |
||
|
Anmeldungsdatum: Beiträge: 2232 |
Servus,
prinzipiell ja – ich finde aber das Konstrukt „ Ich würde von einer temporären Änderung von IFS erwarten, dass hinterher IFS wieder den Wert hat, den es vorher hatte. Schon alleine, weil IFS nicht zwangsläufig immer mit dem Standard belegt sein muss, sondern für andere Teile des Skriptes ja auch irgendwas anderes enthalten kann. Wirklich kritisch wird es aber, wenn man dein Konstrukt mit dem
ebenfalls üblichen Konstrukt „ Was passiert, wenn man das mischt, kann man hier sehen:
|
||
|
Anmeldungsdatum: Beiträge: 876 Wohnort: Terra incognita |
Klingt logisch und einleuchtend.
Nachvollziehbar...
... hat "funktioniert" ... D.h. solange ich meine Skripte nicht verteile und keine "Mischung" einsetze und sich das IFS-Standardverhalten bei meiner Distri nicht verändert, wird es funktionieren?! TausB |
||
|
Moderator & Supporter
Anmeldungsdatum: Beiträge: 2039 |
Wir wissen immer noch nicht, was der Sinn der Übung ist und ob es überhaupt eine gute Idee ist, eine Datei oder die Ausgabe eines Programms komplett in ein Array zu stecken... Ciao robert |
||
|
Anmeldungsdatum: Beiträge: 4725 Wohnort: Wolfen (S-A) |
Hi Hans, ich glaube, Du suchst sowas: readarray var < <( grep "error" datei.log ) Gute Erläuterungen dazu findest Du in Greg's Wiki. LG, track |
||
|
Moderator & Supporter
Anmeldungsdatum: Beiträge: 2039 |