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.