Der mapfile
-Befehl in Bash wird verwendet, um Zeilen aus einer Datei oder von der Standardeingabe in ein Array zu lesen. Dies ist besonders nützlich, wenn Sie mehrere Zeilen verarbeiten und in einer strukturierten Form speichern möchten.
Die grundlegende Syntax des Befehls lautet:
mapfile [Optionen] [Argumente]
-t
: Entfernt das Zeilenende von jeder Zeile, die in das Array gelesen wird.-n N
: Liest maximal N Zeilen.-O N
: Setzt den Index des Arrays auf N, anstatt bei 0 zu beginnen.Liest alle Zeilen aus einer Datei in ein Array.
mapfile zeilen < datei.txt
Liest die Zeilen aus einer Datei und entfernt die Zeilenenden.
mapfile -t zeilen < datei.txt
Liest nur die ersten 5 Zeilen einer Datei in ein Array.
mapfile -n 5 zeilen < datei.txt
Setzt den Index des Arrays auf 1 und liest die Zeilen.
mapfile -O 1 zeilen < datei.txt
-t
-Option, um unerwünschte Zeilenenden zu vermeiden, wenn Sie mit den Zeilen arbeiten.echo "${zeilen[@]}"
verwenden.mapfile
mit anderen Bash-Befehlen, um komplexe Datenverarbeitungsaufgaben zu automatisieren.