In anderen Betriebssystemumgebungen ist das Erstellen und Verwenden von Dateinamen mit Leerzeichen unwiderruflich zulässig. Wenn wir jedoch die Domäne des Linux-Betriebssystems betreten, wird die Existenz solcher Dateinamen zu einer Unannehmlichkeit.
Betrachten Sie zum Beispiel die Existenz der folgenden Dateinamen in einer Linux-Betriebssystemumgebung.
Gemäß der Befehlszeilenansicht dieser Dateinamen wird das Verarbeiten oder Verschieben aufgrund der Leerzeichen in ihrer Namenskonvention zu einer ungerechtfertigten Unannehmlichkeit.
Darüber hinaus sind Dateinamensräume in Linux ein Nachteil für Benutzer, die sie über webbasierte Anwendungen als Zeichenfolge %20
verarbeiten tendenziell als Teil des verarbeiteten/endgültigen Dateinamens enthalten.
Dieser Artikel wirft einen Blick auf gültige Ansätze, die Ihnen dabei helfen, Leerzeichen in Dateinamen zu entfernen, während Sie unter einer Linux-Betriebssystemumgebung arbeiten.
Voraussetzung
Machen Sie sich mit der Verwendung des Linux-Terminals oder der Befehlszeilenschnittstelle vertraut. Zu praktischen Referenzzwecken verwenden wir die Dateinamen mit Leerzeichen, die in der folgenden Bildschirmaufnahme dargestellt werden.
1. Entfernen von Leerzeichen aus Dateinamen mit bestimmter Dateierweiterung
Der find-Befehl wird mit dem mv-Befehl kombiniert, um sein funktionales Ziel effektiv auszuführen, Leerzeichen aus einem Dateinamen mit einer bestimmten Dateierweiterung zu entfernen, z. B. .xml
Dateien.
$ find . -type f -name "* *.xml" -exec bash -c 'mv "$0" "${0// /_}"' {} \;
2. Leerzeichen in Dateinamen mit dem Befehl rename ersetzen
Alternativ statt find zu verwenden mit mv Befehlen zum Verfolgen und Ersetzen von Dateinamensräumen, könnten wir ein einziges rename verwenden Befehl, der eine Pearl-Erweiterung ist und in den folgenden Linux-Betriebssystem-Distributionen installiert werden kann:
$ sudo apt install rename [On Debian, Ubuntu and Mint] $ sudo yum install rename [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux] $ sudo emerge -a sys-apps/rename [On Gentoo Linux] $ sudo pacman -S rename [On Arch Linux] $ sudo zypper install rename [On OpenSUSE]
Nach der Installation wird die Umbenennung Der Befehl kann folgendermaßen verwendet werden:
$ rename 's/\s/_/g' ./*.xml
Der obige Befehl ersetzt die Leerzeichen in allen .xml
Dateien mit einem Unterstrich. Um alle Leerzeichen in allen Dateinamen unabhängig von der Dateierweiterung zu ersetzen, verwenden Sie:
$ rename 's/\s/_/g' ./*.*
3. Leerzeichen in Dateinamen mit For-Schleife und mv-Befehl ersetzen
Dieser Ansatz ist effektiv, um Dateinamensräume in verschiedenen Dateinamenformaten zu beseitigen, die in einem bestimmten/Zielordner/Verzeichnis vorhanden sind. Die for-Schleife Die Funktion fragt nach Dateinamensräumen innerhalb eines Zielverzeichnisses/Ordners und ersetzt diese Dateinamensräume anschließend durch einen Unterstrich.
Betrachten Sie die folgende Implementierung dieses Ansatzes:
$ for f in *; do mv "$f" `echo $f | tr ' ' '_'`; done
Vor Beginn dieses Artikels waren Dateinamensräume ein Ärgernis, insbesondere wenn Sie Dateien vom Linux-Terminal kopieren und verschieben oder über ein webbasiertes Programm verarbeiten müssen. Dieses Tutorial hat eine praktikable Lösung bereitgestellt, die solchen Unannehmlichkeiten entgegenwirkt.