Linux Bash: Datei zeilenweise abarbeiten

Ein kleines Problem unter Bash ist es wenn man (ohne sed oder awk) eine Datei parsen will.. aber nicht mit cut oder grep sondern noch manuell 🙂

dafĂŒr gibt es 2 Möglichkeiten die ich euch hier zeigen möchte:

1
2
3
4
5
6
7
8
9
for entry in `cat liste.txt`
do
echo $entry
done
# ODER zeilenweise (beachtet nur \r\n):
while read entry
do
echo $entry
done < "liste.txt"

Wie ihr seht könnt ihr mit for auch so was durchlaufen oder der Trick mit dem < wo man while mit Daten fĂŒttern kann – eigentlich verstĂ€ndlich 😀

Es gibt aber einen Entscheidenden Grund nicht for zu nutzen!

for nimmt beim parsen nicht nur ZeilenumbrĂŒche als Trennzeichen sondern auch Tab und Leerzeichen!! Habt ihr also Textdokumente könnt ihr diese nicht zeilenweise ausgeben. Hier hilft nur die 2. Variante mit READ!!

For wĂŒrde z.B. hier scheitern:

Max Mustermann
Sabine Schuster

es wĂŒrde raus kommen:

Max
Mustermann
Sabine
Schuster

was ja falsch wÀre.

Über den Autor Danny Sotzny

Hallo, ich bin Danny Sotzny und bin Software- entwickler und Fotograf. Dabei beschĂ€ftige ich mich mit aktuellen Technologien und bekannten Problemen. Schwerpunkte setze ich bei der Webentwicklung (PHP/JS) und der Software- entwicklung mit .NET (C#). Der Blog dient fĂŒr mich selbst als GedĂ€chtnishilfe fĂŒr typische und alltĂ€gliche Probleme, aber auch persönliche Erlebnisse werden veröffentlicht. Ich betreibe zusĂ€tzlich noch Foto-Sotzny.de fĂŒr meine Fotografien und sotzny.net, was meine Webseite fĂŒr die Softwareentwicklung ist.

Über Danny Sotzny

Hallo, ich bin Danny Sotzny und bin Software- entwickler und Fotograf. Dabei beschĂ€ftige ich mich mit aktuellen Technologien und bekannten Problemen. Schwerpunkte setze ich bei der Webentwicklung (PHP/JS) und der Software- entwicklung mit .NET (C#). Der Blog dient fĂŒr mich selbst als GedĂ€chtnishilfe fĂŒr typische und alltĂ€gliche Probleme, aber auch persönliche Erlebnisse werden veröffentlicht. Ich betreibe zusĂ€tzlich noch Foto-Sotzny.de fĂŒr meine Fotografien und sotzny.net, was meine Webseite fĂŒr die Softwareentwicklung ist.
Dieser Beitrag wurde unter Bash, Grundlagen, Linux-Welt, Programmierung, Studium abgelegt und mit , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

2 Responses to Linux Bash: Datei zeilenweise abarbeiten

  1. tuxorius sagt:

    Das Problem bei „for“ und Trennzeichen lasst sich mit setzen vom IFS lösen…

    IFS“

    for …

  2. tuxorius sagt:

    Das Problem bei „for“ und Trennzeichen lĂ€sst sich mit setzen von IFS lösen…

    IFS“

    for …

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darĂŒber, wie deine Kommentardaten verarbeitet werden.