Shellscript: Datei zeilenweise einlesen
Hallo! Nach längerem überlegen und googeln, wissend, was sed, awk und Konsorten können, habe ich noch immer keine simple Lösung für folgendes Problem gefunden: Ich möchte schlicht und einfach eine Textdatei vom Anfang bis zum EOF zeilenweise in einer Schleife einlesen, an dieser Stelle noch vollkommen unabhängig davon, was der Inhalt der Zeile ist, es sei denn, die Datei wäre zu Ende. Ich komme einfach nicht dahinter, wie das einfach zu bewerkstelligen ist. Vielleicht kann mir jemand den entscheidenden Hinweis geben, ich glaube ich stehe im Moment einfach nur etwas "auf dem Schlauch" ... Danke schon jetzt für Eure Hilfe! Beste Grüße, Markus
Am Freitag, 2. September 2005 08:05 schrieb Markus Heidinger:
Hallo!
Guten Morgen,
Nach längerem überlegen und googeln, wissend, was sed, awk und Konsorten können, habe ich noch immer keine simple Lösung für folgendes Problem gefunden:
google: shell datei zeilenweise read
Ich möchte schlicht und einfach eine Textdatei vom Anfang bis zum EOF zeilenweise in einer Schleife einlesen, an dieser Stelle noch vollkommen unabhängig davon, was der Inhalt der Zeile ist, es sei denn, die Datei wäre zu Ende. Ich komme einfach nicht dahinter, wie das einfach zu bewerkstelligen ist.
siehe 1. Link der Googlesuche!
Vielleicht kann mir jemand den entscheidenden Hinweis geben, ich glaube ich stehe im Moment einfach nur etwas "auf dem Schlauch" ...
Danke schon jetzt für Eure Hilfe!
Bitte. Viele Grüße Mario
Hallo, Markus Heidinger schrieb (2.9.2005, 09:05):
Hallo!
Nach längerem überlegen und googeln, wissend, was sed, awk und Konsorten können, habe ich noch immer keine simple Lösung für folgendes Problem gefunden:
Ich möchte schlicht und einfach eine Textdatei vom Anfang bis zum EOF zeilenweise in einer Schleife einlesen, an dieser Stelle noch vollkommen unabhängig davon, was der Inhalt der Zeile ist, es sei denn, die Datei wäre zu Ende. Ich komme einfach nicht dahinter, wie das einfach zu bewerkstelligen ist.
Vielleicht kann mir jemand den entscheidenden Hinweis geben, ich glaube ich stehe im Moment einfach nur etwas "auf dem Schlauch" ...
Danke schon jetzt für Eure Hilfe!
for zeile in $(cat datei) do .... done Gruß Kimmo
Hallo Kimmo, hallo Markus, hallo Leute, Am Freitag, 2. September 2005 08:26 schrieb K. Elo:
Markus Heidinger schrieb (2.9.2005, 09:05):
Ich möchte schlicht und einfach eine Textdatei vom Anfang bis zum EOF zeilenweise in einer Schleife einlesen, [...] for zeile in $(cat datei) do .... done
Fürs Archiv: Diese Lösung funktioniert nur, solange die Datei keine Leerzeichen oder Tabs enthält - an diesen Zeichen (genauer: an den Zeichen in $IFS) wird die Datei nämlich auch aufgesplittet. Die "nebenan" im Thread genannten Varianten mit read machen das gewünschte. Gruß Christian Boltz -- Immer noch am Squid oder lieber Knöpfchen drücken und anstarren, ob sich was tut? Vergiß es, der Computer sitzt am längeren Hebel und ist, was solche Geschäfte angeht, ein Sturkopf. [Helga Fischer in suse-linux]
Am Freitag, 2. September 2005 08:05 schrieb Markus Heidinger:
Ich möchte schlicht und einfach eine Textdatei vom Anfang bis zum EOF zeilenweise in einer Schleife einlesen, an dieser Stelle noch vollkommen unabhängig davon, was der Inhalt der Zeile ist, es sei denn, die Datei wäre zu Ende. Ich komme einfach nicht dahinter, wie das einfach zu bewerkstelligen ist.
Hallo,
cat file1 | while read line do echo $line done
Grüße Wolf -- * Registered Linux user #37136 http://counter.li.org * SL 9.3, Ubuntu 5.04, AMD Sempron 2800+, SIS 748 * Matrox MGA-450, 1GB/240GB, SB Audigy 2 ZS * Toshiba M40X Canon Lide 20
Wolf-Rüdiger Jürgens wrote at Friday, September 02, 2005 9:05 AM
Hallo,
cat file1 | while read line do echo $line done
Danke an alle, die sich hier beteiligt haben (Mario, Kimmo, Wolf-Rüdiger ...) wie gesagt, ich glaube ich bin wirklich auf dem Schlauch gestanden ... "... denn das Gute liegt so nah ..." kann ich da nur sagen. Aber trotzdem interessant, gleich ein paar Ansätze zu sehen ;-) Danke nochmal, Gruß Markus
Wolf-Rüdiger Jürgens schrieb:
Am Freitag, 2. September 2005 08:05 schrieb Markus Heidinger:
Ich möchte schlicht und einfach eine Textdatei vom Anfang bis zum EOF zeilenweise in einer Schleife einlesen, an dieser Stelle noch vollkommen unabhängig davon, was der Inhalt der Zeile ist, es sei denn, die Datei wäre zu Ende. Ich komme einfach nicht dahinter, wie das einfach zu bewerkstelligen ist.
Hallo,
cat file1 | while read line do echo $line done
cat ist überflüssig: while read line ; do ..do something done < file1 -- Gruss Bernd
participants (6)
-
Bernd Obermayr
-
Christian Boltz
-
K. Elo
-
Mario Goppold
-
Markus Heidinger
-
Wolf-Rüdiger Jürgens