Mir ist klar, dass dies eine recht einfache Frage sein mag, aber ich bin noch ziemlich neu in der Befehlszeile und verstehe nur grundlegende Befehle.
Ich habe einige Vortragspräsentationen (ca. 25) von meiner Universität heruntergeladen, aber dabei wurden sie Dinge wie ...
L2%20Development%20of%20immune%20system.pptx
L4%20Molecular%20Recognition.pdf
Wie Sie sehen können, haben sie die URL-Codierung %20
anstelle eines Leerzeichens heruntergeladen .
Meine Frage ist, wie man alle diese Dateien stapelweise umbenennt, damit sie %20
entfernt und stattdessen durch ein Leerzeichen ersetzt werden.
command-line
rename
Ben
quelle
quelle
Antworten:
Unter Debian und Derivaten (einschließlich Ubuntu) können Sie
rename
einen Perl-Ausdruck auf jeden Dateinamen anwenden.Ich würde in Betracht ziehen, Unterstriche anstelle von Leerzeichen zu verwenden, da dies das Leben in der Cli-Welt im Allgemeinen erleichtert.
So verallgemeinern Sie auf alle URI-Codierungen:
quelle
Sie können
deurlname
von Renameutils verwenden .Ich habe ein Skript geschrieben , mit dem Sie Dateien in einem Editor umbenennen können.
Sie übergeben dem Skript einfach einen Dateinamen und es öffnet Ihren Editor mit dem Dateinamen. Anschließend bearbeiten Sie den Dateinamen, schreiben und schließen den Editor.
Ich habe auch ein Skript geschrieben , das Dateien automatisch umbenennt, um meinem bevorzugten Namensschema zu entsprechen. Wenn ich Dateien herunterlade, rufe ich als erstes dieses Skript auf.
Sei vorsichtig mit diesem Skript. Es kann einige ziemlich dramatische Umbenennungen vornehmen. Verwenden Sie die
nf -n
Option dry run ( ), bevor Sie Dateien umbenennen.quelle
Sie können
convmv
in dem Verzeichnis verwenden, in dem Sie die Dateien haben:So testen Sie die Ausgabe:
Um die Dateien tatsächlich umzubenennen, fügen Sie Folgendes hinzu
--notest
:quelle
Eine weitere Alternative, die nicht auf externe Tools außerhalb von Bash angewiesen ist:
quelle