Angenommen, ich habe ein Verzeichnis, in dem sich drei Dateien mit dem Namen file1.txt, file2.txt und file3.txt befinden.
Wie kann ich nun ein Array mit diesen Dateinamen füllen (ich weiß nur, dass alle Dateien ein bestimmtes Präfix haben, dh Datei, nach Datei kann es 1,2,3 usw. sein).
Antworten:
Aus Gregs Wiki: Der Bash Guide- Eintrag zu Arrays :
Auf der Seite finden Sie eine detaillierte Erläuterung der Arrays, die dieses Konstrukt Element für Element aufteilen. es lohnt sich, es vollständig zu lesen.
quelle
Wenn sich alle Dateien im selben Verzeichnis befinden, haben Sie neben der Antwort von jasonwryan noch einige andere Optionen.
Verwenden eines Globus:
Nur passend zu den Beispieldateien in der Frage:
Wenn Sie Bash Version 4 oder höher haben, können Sie sogar rekursiv glob:
Verwenden der Klammererweiterung, um Ihr Array nur auf Ihre Beispieldateien zu beschränken:
Im Gegensatz zu den beiden anderen Beispielen wird das Array mit den Dateinamen gefüllt, auch wenn diese nicht vorhanden sind. Aus diesem Grund ist die Streckenexpansion möglicherweise nicht wünschenswert.
quelle