Bei der Arbeit mit Linux stoßen Sie möglicherweise auf einige Dienstprogramme und Apps, die nur mit Dateinamen funktionieren, die keine Leerzeichen enthalten. Wir speichern Dateien nicht immer in diesem Format ohne Leerzeichen und müssen möglicherweise nach einer Problemumgehung suchen, die Leerzeichen in Dateinamen vollständig entfernt. Auf diese Weise enthalten Ihre Dateinamen keine Leerzeichen und Sie können problemlos in all Ihren Anwendungen damit arbeiten.
In diesem Artikel erklären wir Ihnen zwei Möglichkeiten, Leerzeichen aus Ihren Dateinamen zu entfernen, ganz einfach über die Ubuntu-Befehlszeile.
Wir haben die in diesem Artikel erwähnten Befehle und Verfahren auf einem Ubuntu 18.04 LTS-System ausgeführt.
Methode 1:Durch den mv-Befehl in der ‘for’-Schleife
Bei dieser Methode verwenden wir den Ubuntu mv-Befehl in einer for-Schleife, um alle Dateien/Ordner in einem Verzeichnis so umzubenennen, dass alle Leerzeichen entfernt werden.
Öffnen Sie Ihre Ubuntu-Befehlszeile, das Terminal, entweder über die Application Launcher-Suche oder die Tastenkombination Strg+Alt+T.
So sehen die Dateien in meinem Beispielordner aus; Ich habe den Inhalt mit dem ls-Befehl aufgelistet:
Alle Dateinamen enthalten also nicht nur ein, sondern jeweils zwei Leerzeichen.
Dies ist der Befehl, den ich verwenden werde, während ich mich in dem Verzeichnis befinde, dessen Dateien ich umbenennen möchte:
$ for oldname in *; do newname=`echo $oldname | sed -e 's/ //g'`; mv "$oldname" "$newname";
erledigt
Als ich den Inhalt des Verzeichnisses noch einmal aufgelistet habe, sehen Sie, dass alle Dateinamen keine Leerzeichen mehr enthalten.
Methode 2:Verwenden eines Bash-Skripts zum Umbenennen von Dateien
Bei dieser Methode verwenden wir ein Bash-Skript, das den Befehl mv verwendet, um Datei- und Ordnernamen so umzubenennen, dass alle Leerzeichen entfernt werden.
Öffnen Sie die Terminal-Anwendung und wechseln Sie wie folgt zum bin-Ordner:
$ cd ~bin
Öffnen Sie jetzt eine neue Skriptdatei in einem Ihrer bevorzugten Texteditoren. Wir werden den Nano-Editor verwenden, um eine leere Skriptdatei mit dem Namen remove_spaces.sh
zu öffnen$ sudo nano remove_spaces.sh
Fügen Sie in dieser leeren Datei das folgende Skript hinzu:
#!/bin/bash ( IFS=$'\n' for y in $(ls $1) do mv $1/`echo $y | sed 's/ /\\ /g'` $1/`echo "$y" | sed 's/ /_/g'` done )
Tipp: Anstatt das gesamte Skript in Ihre Bash-Datei einzugeben, können Sie es von hier aus kopieren und im Terminal einfügen, indem Sie Strg+Umschalt+V verwenden oder die Option Einfügen aus dem Rechtsklickmenü verwenden.
So sieht Ihre Datei aus:
Beenden Sie nun die Datei über die Tastenkombination Strg+X und speichern Sie die Datei auf der Seite „Save Modified Buffer?“. Eingabeaufforderung, indem Sie Y eingeben und dann die Eingabetaste drücken.
Um diese Datei zu einem ausführbaren Skript zu machen, führen Sie den folgenden Befehl in Ihrem Terminal aus:
$ sudo chmod +x remove_spaces.sh
Jetzt können Sie das Skript in jedem Ihrer Ordner verwenden.
Wenn ich das Skript in meinem „Beispiel“-Verzeichnis im Ordner „Downloads“ ausführe, werden alle Leerzeichen in meinen Dateinamen entfernt. Sie können das Ergebnis sehen, wenn ich den Inhalt der Datei erneut mit dem Befehl ls aufliste:
Dies waren also die beiden Möglichkeiten, wie Sie die Dateien umbenennen können, sodass alle Leerzeichen in ihren Namen entfernt werden. Jetzt erkennt jede Anwendung, die Sie verwenden, Dateinamen, die Leerzeichen enthalten.