Schleife über Dateien im Verzeichnis in Bash

Nilesh Katuwal 30 Januar 2023
  1. Dateien durchschleifen
  2. Schleife über Verzeichnis
  3. Schreiben Sie alle Dateien innerhalb des Verzeichnisses mit Schleife
  4. Erstellen Sie Backups aller Dateien im Verzeichnis
Schleife über Dateien im Verzeichnis in Bash

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.

Schleife über Dateien im Verzeichnis in Bash

Wir haben mit mkdir einen Ordner test erstellt und darin fünf Dateien mit dem Befehl touch erstellt.

Bash-Schleife Beispiel

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.

Bash-Sicherung

Sie können sehen, dass Sicherungsdateien mit der Endung .bak im Ordner erstellt wurden.

Verwandter Artikel - Bash Loop