So benennen Sie Dateien in einem Verzeichnis wie der folgenden Datei um:PMC21375.pdf.txt , muss ich in 21375.txt umbenannt werden . d.h. ich muss beide PMC entfernen und pdf von jedem Dateinamen.
Akzeptierte Antwort:
Mit Perls rename :
rename 's/(PMC|.pdf)//g' *pdf.txt
Demo :
$ ls *txt
PMC21375.pdf.txt
$ rename -n 's/(PMC|.pdf)//g' *txt
PMC21375.pdf.txt -> 21375.txt
aus der shell prompt. Es ist sehr nützlich, Sie können Perlcode wie ich in eine Substitution einfügen.
Sie können das -n entfernen (Trockenlaufmodus-Schalter), wenn Ihre Tests gültig werden.
Es gibt andere Tools mit demselben Namen, die dies möglicherweise können oder auch nicht sei vorsichtig.
Wenn Sie den folgenden Befehl ausführen (linux )
$ file $(readlink -f $(type -p rename))
und Sie haben ein Ergebnis wie
.../rename: Perl script, ASCII text executable
dann scheint dies das richtige Werkzeug zu sein =)
Wenn nicht, machen Sie es zum Standard (normalerweise bereits der Fall) auf Debian und Derivate wie Ubuntu :
$ sudo update-alternatives --set rename /path/to/rename
(ersetzen Sie /path/to/rename zum Pfad Ihrer perl's rename Befehl.
Last but not least wurde dieses Tool ursprünglich von Larry Wall, dem Vater von Perl, geschrieben.