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
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
