GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Konvertieren Sie Dateinamen über die Ubuntu-Befehlszeile in Kleinbuchstaben

Bei der Arbeit mit Linux stoßen Sie möglicherweise auf einige Dienstprogramme und Apps, die nur mit Dateinamen in Kleinbuchstaben funktionieren. Wir speichern Dateien normalerweise nicht in diesem Format und müssen möglicherweise nach einer Problemumgehung suchen, die alle Dateinamen in einem Ordner rekursiv in Kleinbuchstaben umwandelt. In diesem Artikel zeigen wir Ihnen zwei Möglichkeiten, alle Dateien und Ordnernamen in einem bestimmten Pfad in Kleinbuchstaben umzuwandeln, einfach über die Befehlszeile.

Wir haben die in diesem Artikel erwähnten Befehle und Verfahren auf einem Ubuntu 18.04 LTS-System ausgeführt.

So können Sie den Inhalt Ihres Ordners mit dem Suchbefehl auflisten:

$ finde [Verzeichnisname] -Tiefe

Mein Downloads-Ordner, den ich als Beispiel für diesen Artikel verwenden werde, enthält alle Dateien, die mit Großbuchstaben beginnen, und enthält auch einige zwischen den Namen.

$ find Downloads -depth

Methode 1:Verwenden des Umbenennungsbefehls

Bei dieser Methode verwenden wir die Ubuntu-Befehle find, Xargs und rename, um alle Dateien/Ordner in einem bestimmten Verzeichnis rekursiv umzubenennen.

Öffnen Sie Ihre Ubuntu-Befehlszeile, das Terminal, entweder über die Application Launcher-Suche oder die Tastenkombination Strg+Alt+T.

Hier ist die Syntax des Befehls, den Sie verwenden werden:

$ find [Verzeichnisname] -Tiefe | xargs -n 1 umbenennen -v ‘s/(.*)\/([^\/]*)/$1\/\L$2/’ {} \;

Wenn Sie den Umbenennungsbefehl nicht auf Ihrem System installiert haben, erhalten Sie möglicherweise eine Fehlermeldung, wenn Sie den obigen Befehl ausführen. Sie können rename auf Ihrem Ubuntu mit dem folgenden apt-get-Befehl installieren:

$ sudo apt-get install rename

Ich werde den folgenden Befehl verwenden, um Dateinamen in meinem Download-Verzeichnis in Kleinbuchstaben umzuwandeln:

$ find Downloads -depth | xargs -n 1 rename -v 's/(.*)\/([^\/]*)/$1\/\L$2/' {} \;

Als ich den Inhalt des Verzeichnisses erneut auflistete, konnte ich sehen, dass alle Dateinamen wie folgt in Kleinbuchstaben umgewandelt wurden:

Methode 2:Verwenden eines Skripts zum Umbenennen der Dateien

Bei dieser Methode verwenden wir ein Bash-Skript, das die Befehle find und mv verwendet, um Datei- und Ordnernamen eines Verzeichnisses, einschließlich des Verzeichnisnamens selbst, rekursiv umzubenennen.

Ö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 Lowercase_filenames.sh

zu öffnen
$ sudo nano lowercase_filenames.sh

Fügen Sie in dieser leeren Datei das folgende Skript hinzu.

#!/bin/bash
#print usage
if [ -z $1 ];then
echo "Usage :$(basename $0) parent-directory"
exit 1
fi

#process all subdirectories and files in parent directory
all="$(find $1 -depth)"

for name in ${all}; do
#set new name in lower case for files and directories
new_name="$(dirname "${name}")/$(basename "${name}" | tr '[A-Z]' '[a-z]')"
#check if new name already exists
if [ "${name}" != "${new_name}" ]; then
[ ! -e "${new_name}" ] && mv -T "${name}" "${new_name}"; echo "${name} was renamed to ${new_name}" || echo "${name} wasn't renamed!"
fi

done
exit 0

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 lowercase_filenames.sh

Jetzt können Sie das Skript für jeden Ihrer Ordner verwenden.

Wenn ich das Skript für meinen Downloads-Ordner ausführe, sehe ich alle Datei- und Unterordnernamen wie folgt in Kleinbuchstaben umgewandelt:

Dies waren also die beiden Möglichkeiten, wie Sie die Dateinamen in Kleinbuchstaben umbenennen können, damit die von Ihnen verwendete Anwendung keine Dateinamen in Großbuchstaben erkennt.


Ubuntu
  1. So öffnen Sie eine PDF-Datei einfach über die Befehlszeile in Ubuntu

  2. Laden Sie eine Datei auf Ubuntu über die Befehlszeile auf einem Ubuntu 20.04-System herunter

  3. Wie konvertiere ich eine Excel-Datei über die Befehlszeile in eine Calc-Datei?

  4. Wiederherstellen von Backups schlägt Ubuntu 16.04 fehl?

  5. Alternative zur SSH-Befehlszeile von Ubuntu

GNOME-GUI-Anpassungen über die Ubuntu-Befehlszeile

Batch-Entfernung von Leerzeichen in Dateinamen über die Ubuntu-Befehlszeile

So laden Sie eine Datei unter Ubuntu Linux über die Befehlszeile herunter

3 Möglichkeiten, Ubuntu über die Befehlszeile neu zu starten

Aktualisieren Sie Ubuntu 18.04 auf Ubuntu 19.04 direkt über die Befehlszeile

Aktualisieren Sie Ubuntu 18.04 auf Ubuntu 19.10 direkt über die Befehlszeile