LoslegenKostenlos loslegen

Wie kann ich viele Befehle in einer einzigen Schleife ausführen?

Die Ausgabe von Dateinamen ist nützlich für die Fehlersuche, aber der eigentliche Zweck von Schleifen ist es, Dinge mit mehreren Dateien zu tun. Diese Schleife druckt die zweite Zeile jeder Datendatei aus:

for file in seasonal/*.csv; do head -n 2 $file | tail -n 1; done

Sie hat die gleiche Struktur wie die anderen Schleifen, die du bereits gesehen hast: Der einzige Unterschied besteht darin, dass der Textkörper eine Pipeline aus zwei Befehlen ist, anstatt eines einzigen Befehls.

Diese Übung ist Teil des Kurses

Einführung in die Shell

Kurs anzeigen

Anleitung zur Übung

Schreibe eine Schleife, die den letzten Eintrag vom Juli 2017 (2017-07) in jeder Saisondatei ausgibt. Es sollte ein ähnliches Ergebnis liefern wie:

grep 2017-07 seasonal/winter.csv | tail -n 1

aber für jede saisonale Datei separat. Bitte verwende file als Namen der Schleifenvariablen und denke daran, die Liste der Dateien seasonal/*.csv in einer Schleife zu durchlaufen(statt "seasonal/winter.csv" wie im Beispiel).

Interaktive Übung

Setze die Theorie in einer unserer interaktiven Übungen in die Praxis um

Übung starten