Terminal | Ordner mit 900 Dateien durchnummerieren

S

sevY

Hi,

hat jemand mal ein Shellscript für mich, mit dem ich total chaotisch benannte Dateien (ca. 900) innerhalb eines Ordners umbennen kann?

Es soll vor dem letzten Punkt des Dateinamens (da die Endung erhalten bleiben soll), alles entfernt und dann von oben herab inkrementell durchnummiert werden.


Liebe Grüße

Yves
 
Yves schrieb:
hat jemand mal ein Shellscript für mich, mit dem ich total chaotisch benannte Dateien (ca. 900) innerhalb eines Ordners umbennen kann?

Es soll vor dem letzten Punkt des Dateinamens (da die Endung erhalten bleiben soll), alles entfernt und dann von oben herab inkrementell durchnummiert werden.

Leg dir erstmal Kopien an, damit Du nichts kaputtmachen kannst.
Ansonsten 'man find'.

Udo
 
Code:
#!/bin/bash 
dir=$1

cd $dir
count=0
for filename in *
do
if echo "$filename" | grep "\." >/dev/null
then
        extension=".${filename##*.}"
else
        extension=""
fi

mv "$filename" "${count}${extension}"
(( count += 1 ))
done

vorher:
Code:
leshp:~ hayo$ ls -la testdir/
total 0
drwxr-xr-x   9 hayo  wheel   306  7 Oct 03:34 .
drwxr-xr-x  61 hayo  wheel  2074  7 Oct 03:28 ..
-rw-r--r--   1 hayo  wheel     0  7 Oct 03:34 datei1.zip
-rw-r--r--   1 hayo  wheel     0  7 Oct 03:34 datei1.zip.txt
-rw-r--r--   1 hayo  wheel     0  7 Oct 03:34 datei2.rar
-rw-r--r--   1 hayo  wheel     0  7 Oct 03:34 datei2.rar.doc
-rw-r--r--   1 hayo  wheel     0  7 Oct 03:34 datei3.sit
-rw-r--r--   1 hayo  wheel     0  7 Oct 03:34 datei3.sit.xls
-rw-r--r--   1 hayo  wheel     0  7 Oct 03:34 datei4

nachher:
Code:
leshp:~ hayo$ ls -la testdir/
total 0
drwxr-xr-x   9 hayo  wheel   306  7 Oct 03:34 .
drwxr-xr-x  61 hayo  wheel  2074  7 Oct 03:28 ..
-rw-r--r--   1 hayo  wheel     0  7 Oct 03:34 0.zip
-rw-r--r--   1 hayo  wheel     0  7 Oct 03:34 1.txt
-rw-r--r--   1 hayo  wheel     0  7 Oct 03:34 2.rar
-rw-r--r--   1 hayo  wheel     0  7 Oct 03:34 3.doc
-rw-r--r--   1 hayo  wheel     0  7 Oct 03:34 4.sit
-rw-r--r--   1 hayo  wheel     0  7 Oct 03:34 5.xls
-rw-r--r--   1 hayo  wheel     0  7 Oct 03:34 6

aufruf mit scriptname <verzeichnis mit dateien>
ich hoffe das war so in etwa was du gesucht hast...

G/hayo
 
Yves schrieb:
Hi,

hat jemand mal ein Shellscript für mich, mit dem ich total chaotisch benannte Dateien (ca. 900) innerhalb eines Ordners umbennen kann?
Yves

shellskript?
try this: renamer
 
Hey vuudoo, wenn er es in einem Skript haben möchte, um es evtl. in einen cronjob einzubinden?

pepp carro banana cumber
 
Zuletzt bearbeitet von einem Moderator:
Arghs…

Mein ganzes Homeverzeichnis ist nun durchnummeriert :D

Code:
iMac:~/Desktop/Test Yves$ chmod 0777 /Users/Yves/Desktop/rename.sh 
iMac:~/Desktop/Test Yves$ /Users/Yves/Desktop/rename.sh 
#hehe… vergessen das Parameter anzugeben… ;)
iMac:~/Desktop/Test Yves$ /Users/Yves/0/rename.sh /Users/Yves/0/Test 
iMac:~/Desktop/Test Yves$
 
Yves schrieb:
Arghs…

Mein ganzes Homeverzeichnis ist nun durchnummeriert :D

Code:
iMac:~/Desktop/Test Yves$ chmod 0777 /Users/Yves/Desktop/rename.sh 
iMac:~/Desktop/Test Yves$ /Users/Yves/Desktop/rename.sh 
#hehe… vergessen das Parameter anzugeben… ;)
iMac:~/Desktop/Test Yves$ /Users/Yves/0/rename.sh /Users/Yves/0/Test 
iMac:~/Desktop/Test Yves$

oh my god ... nehmt dem mann das terminal weg!!! ;)
 
Yves schrieb:
Arghs…

Mein ganzes Homeverzeichnis ist nun durchnummeriert :D

Code:
iMac:~/Desktop/Test Yves$ chmod 0777 /Users/Yves/Desktop/rename.sh 
iMac:~/Desktop/Test Yves$ /Users/Yves/Desktop/rename.sh 
#hehe… vergessen das Parameter anzugeben… ;)
iMac:~/Desktop/Test Yves$ /Users/Yves/0/rename.sh /Users/Yves/0/Test 
iMac:~/Desktop/Test Yves$

rotfl irgendwas ist ja immer... ;)
 
hol dir doch lieber son batch rename proggi...

das mit cron solltest du noch mal überdenken. :D
 
Nett zum massenhaften Umbennenen finde ich mvb.
Das ist ein recht umfangreiches Shell-Script, das man von http://www.xscd.com/pub/mvb/ bekommen kann.
Ich benutze es, um Fotos von meiner Digikam vernünftige Namen zu geben.


vuuduu schrieb:
oh my god ... nehmt dem mann das terminal weg!!! ;)
Solang er nur bei sich das Terminal nutzt .... :D
 
Zuletzt bearbeitet von einem Moderator:
Zurück
Oben Unten