Schleife über Dateien im Verzeichnis in Bash
- Dateien durchschleifen
- Schleife über Verzeichnis
- Schreiben Sie alle Dateien innerhalb des Verzeichnisses mit Schleife
- Erstellen Sie Backups aller Dateien im Verzeichnis
Schleifen in Bash haben es möglich gemacht, Operationen an vielen Dateien durchzuführen. Sie müssen über einige Berechtigungen verfügen, um mit Dateien und Ordnern arbeiten zu können.
Die effektivste Methode ist das Schleifen, das es dem Benutzer ermöglicht, dieselbe Logik erneut auf das Objekt anzuwenden, indem er eine einfache Codezeile verwendet.
Dateien durchschleifen
Zuerst erstellen wir ein test
-Verzeichnis und erstellen mehrere Dateien innerhalb des Verzeichnisses. Lassen Sie uns fünf Dateien im Verzeichnis test
als file1.txt
, file2.txt
, file3.txt
, file4.txt
und file5.txt
erstellen.
Wir haben mit mkdir
einen Ordner test
erstellt und darin fünf Dateien mit dem Befehl touch
erstellt.
Schleife über Verzeichnis
Lassen Sie uns das neu erstellte Verzeichnis test
durchlaufen und die Dateinamen innerhalb des Verzeichnisses anzeigen. Dazu verwenden wir die for
-Schleife.
~/test$ for file in *; do echo $file; done
Navigieren Sie zum Verzeichnis test
und geben Sie nach $
den obigen Befehl ein. *
bezeichnet alle Dateien innerhalb des Verzeichnisses.
Ausgabe:
file1.txt
file2.txt
file3.txt
file4.txt
file5.txt
Schreiben Sie alle Dateien innerhalb des Verzeichnisses mit Schleife
Hello World!
schreiben In jeder Datei verwenden wir die for
-Schleife, um Dateien zu durchlaufen, und das -e
-Flag in echo
, um Zeilenumbrüche beizubehalten.
~/test$ for file in *; do echo -e "$file\nHello World!"> $file ; done
$file
zeigt den Dateinamen am Anfang der Datei und \n
bricht die Zeile um und Hello World!
wird in der zweiten Zeile als Vorschau angezeigt. Um die Daten zu überprüfen, die wir der Datei hinzugefügt haben, müssen wir sie mit cat
mit einer for
-Schleife anzeigen.
~/test$ for file in *; do cat $file ; done
Ausgabe:
file1.txt
Hello World!
file2.txt
Hello World!
file3.txt
Hello World!
file4.txt
Hello World!
file5.txt
Hello World!
Erstellen Sie Backups aller Dateien im Verzeichnis
Die Erweiterung .bak
bezeichnet die Sicherungsdateien. Wir verwenden cp
mit for
-Schleife, um Backups zu erstellen.
~/test$ for file in *; do cp $file "$file.bak" ; done
Mit ls -l
können Sie alle Dateien im Verzeichnis test
auflisten.
~/test$ ls -l
Schauen wir uns das Verzeichnis test
an.
Sie können sehen, dass Sicherungsdateien mit der Endung .bak
im Ordner erstellt wurden.