fájlok csoportos átnevezése

Fórumok

Sziasztok!

Az alábbi fájlokat szeretném egyszerre átnevezni:

01-eloado-szamcim.mp3 -> 01-szamcim.mp3
02-eloado-szamcim.mp3 -> 02-szamcim.mp3
...

Windows alatt a Total Commanderrel ezt könnyedén meg tudom tenni.
Linux alatt milyen lehetőségeim vannak?

Az mmv-t próbáltam, de nem tudtam megfelelően felparaméterezni...

Hozzászólások

find, xargs, sed... meg egynehány igen jól programozható shell.

pölö:
for i in *.mp3
do
mv $i $(echo $i | cut -d- -f1,3)
done

Vagy:

mozgat()
{
mv $1 $(echo $1 | cut -d- -f1,3)
}

find . -name *.mp3 -exec mozgat {} \;

udv !
kerdes : ez tenyleg a haladohoz kell legyen besorolva ?
legegyszerubb, ha irsz ra egy scriptet ( mert rovid ), ha meg valami grafikus kell, amit nem kell parameterezgetni, akkor probald ki a gprename-et.

1) mc
2) file-ok kijelöl
3) F6
4) Source mask: *-*-*
5) To: \1-\3
6) Enter

Esetleg, ha a file-jaidban vannak id3 tag-ek, akkor a tagmp3 nevű progi move parancsa a te barátod (mpgtx csomag).

a krename nevű progival ezt tökéletesen meg lehet oldani

rename 's/eloado-//' *.mp3

Zsiraf

p.s.: csak meg egy valtozat
p.s.2: ja, ez egy perl util, ami debian-on a perl-el egyutt felkerul (ha emlekeim nem csalnak)

Van rá rengeteg program, de én ezt ajánlanám: http://renamer.sourceforge.net/

Magyar fejlesztésű, nagyon tuti kis progi!

Nekem a krename lassú, és kell hozzá a kde, van gtk-s megoldás is, de az meg keveset tud! Van rengeteg konzolos, de az meg nem mindenkinek jön be!

Szal a fenti az össze pozitívumát egyesíti!

<= PcZ On LinuxOS -- Powered By Gentoo Linux =>

'Software is like sex: It's better when it's free!'
By Linus Torvalds

ehhez kapcsolódó kérdés: hogyan tudnám a következő átnevezést megcsinálni shell script-el?

DSC0042352.jpg -> 01.jpg
DSC0042353.jpg -> 02.jpg
...

ha 100 alatti képed van, akkor plédául így:

j=1
for i in $(ls D* | sort )
do
mv $i $(printf "%02d.jpg" $j)
j=$((${j}+1))
done

Ha több, akkor %03d, és mehet 999-ig. Esetleg kockaként szóbajöhet még a %02x is :-))

Ha a sorszámok egyértelmű összerendelése fontos, akkor meg megintcsak eccerű, a ciklusba akkor ennyi kell:
mv $i $(printf "%02d.jpg" $(($(echo $i | tr -cd "[:digit:]")-42351)))

Ez inkabb a linux kezdobe valo. Grafikus pl. krename, parancssoros pl. rename. Utobbi alap szintaxisa: rename mit mire melyik_fileban

"01-eloado-szamcim.mp3 -> 01-szamcim.mp3
02-eloado-szamcim.mp3 -> 02-szamcim.mp3"

A rettento komplikalt megoldas, konkret parancs tehat:

rename "-eloado" "" *

udv

opp, ez 2 x ment- lásd a fölötte levöt :-D

nem tudom, aktív-e még a problémád, ha igen, akkor a Krusader/krename az egyik lehetséges legegyszerűbb megoldás.
fileokat kijelöl, megmondja mit keressen, megmondja mire cserélje, cserél, kész.