automatisches umbennenen beim Verschieben von Dateien

14/09/2008 - 13:21 von Dominik Pusch | Report spam
Hallo,
ich möchte per sh-script oder direkt auf der Shell mehrere Dateien in
verschiedene Verzeichnisse verschieben (einzeln).
Dabei ist es mir wichtig, wenn eine Datei im Zielverzeichnis
existiert, einfach ein suffix (z.B. _01 _02, usw.) angehàngt wird
(vor dem Dateityp wenn vorhanden! Also readme.txt readme_01.txt
readme_02.txt usw).
Wie könnte man das einfach realisieren. In der manpage von mv bin ich
nicht wirklich fündig geworden. Von Hause aus scheint mv sowas nicht
ganz zu können? Zwar gibt es die option --backup=numbered, aber die
macht mir die Dateierweiterung kaputt :(

Also muss ich wohl in einem script erst prüfen, ob eine gleichnamige
Datei schon im Zielverzeichnis existiert. Und wenn ja, weiter prüfen
ob jene Datei mit _01 auch schon existiert, usw.

Gibt es sowas vielleicht schon fertig als Befehl?


TIA,
Dominik
 

Lesen sie die antworten

#1 Michael Wagner
14/09/2008 - 15:03 | Warnen spam
On 14.09.2008 Dominik Pusch wrote:

ich möchte per sh-script oder direkt auf der Shell mehrere Dateien in
verschiedene Verzeichnisse verschieben (einzeln).
Dabei ist es mir wichtig, wenn eine Datei im Zielverzeichnis
existiert, einfach ein suffix (z.B. _01 _02, usw.) angehàngt wird
(vor dem Dateityp wenn vorhanden! Also readme.txt readme_01.txt
readme_02.txt usw).



Hallo Dominik,

schau dir mal die folgenden 2 Programme (mmv + mrename) an. Vielleicht
erreichst du mit denen das, was du willst.

~$ aptitude show mmv mrename
Package: mmv
Version: 1.01b-14
Maintainer: Bernd Eckenfels
Depends: libc6 (>= 2.3.5-1)
Description: Move/Copy/Append/Link multiple files
mmv is a program to move/copy/append/link multiple files according to a set of
wildcard patterns. This multiple action is performed safely, i.e. without any
unexpected deletion of files due to collisions of target names with existing
filenames or with other target names.

Package: mrename
Version: 1.2-12
Maintainer: Kevin Coyner
Description: A tool for easy and automatic renaming of many files
Mass Rename is a simple pair of shell scripts which make it easier to move,
rename, or copy multiple files at once. It is intended mainly as an automatic
and simple way to rename multiple files with a customizable prefix and a
progressive number. It is also possible to modify the rename format simply by
editing one of the scripts. It is easy, complete, and efficient, and was
written only in sh code.

Homepage: http://alfalinux.sourceforge.net/mrename.php3

Hth Michael

"Every production of genius must be the production
of enthusiasm."

Ähnliche fragen