Adott rengeteg ilyen szerkezetű fájlnév:
Mambury, 25.Okt.1945.sav
Ebből ilyet szeretnék készíteni:
Mambury, 1945-10-25.sav
Sajnos a krename-val egyelőre nem tudtam megoldani.
- 5597 megtekintés
Hozzászólások
Pedig azzal menni kellene. Két lépésből áll a feladat:
1. átrendezni a sorrendet - a krename "insert part of filename" dolgait is használhatod, a
[$1;9][$17-[length]]-[$13;3]-[$10;2]
template a
Mambury, 25.Okt.1945.sav
névből
Mambury, 1945-Okt-25.sav
nevet gyárt
2. az Okt/Nov/stb. szövegek lecserélése számra, ehhez krename-ban ott a "find and replace"
Ezeket szerintem egyben nem tudja a krename, de két lépésben mennie kellene.
Nehézség lehet még, ha nem csak Mambury van hanem más nevek is, főleg ha ezek valamelyike tartalmazza az Okt (Nov, stb.) részt. De hagyok neked is a feladatból :)
- A hozzászóláshoz be kell jelentkezni
Ooh. Milyen igaz. Hiába... öregszem.
- A hozzászóláshoz be kell jelentkezni
Off: OpenTTD?
- A hozzászóláshoz be kell jelentkezni
Oh yes! Már az 1994-es megjelenése óta. DOS-ban kezdtem angol nyelven, a mostanihoz képest spártai körülményekkel. :)
- A hozzászóláshoz be kell jelentkezni
Nem ismerem a grafikus csoda-átnevezőket, viszont parancssoros eszközökkel, egy pár soros szkripttel nem túl nehezen megoldható:
#!/bin/sh
for f in *.sav; do
DATUM=`echo ${f} | sed "s@.*, \(.*\)\.sav@\1@"`
TELEPULES=`echo ${f} | sed "s@\(.*\),.*@\1@"`
UJDATUM=`date -j -f '%d.%b.%Y' "${DATUM}" +'%Y-%m-%d'`
mv "${f}" "${TELEPULES}, ${UJDATUM}.sav"
done
Megjegyzések:
- nem tesztelt :) (azaz egy másolaton próbáld ki)
- a
date
parancs paraméterezése nem biztos, hogy linuxon is jó (FreeBSD-re így van), ennek nézz utána - éles bevetés előtt az
mv "${f}"...
sor elé egyecho
parancsot érdemes belökni, hogy lásd, jól működne-e - a szkript
TELEPÜLÉSNÉV-AMIBEN-NINCS-VESSZŐ, NAP.RÖVHÓNAP.ÉV.sav
-szerű fájlnevekre működik megfelelően
- A hozzászóláshoz be kell jelentkezni
uzsolt a sed király. :) Ki fogom próbálni.
- A hozzászóláshoz be kell jelentkezni
Nem olyan bonyolult, mint amilyennek tűnik. Ha van igény rá, pár szóban szívesen leírom az elvét.
- A hozzászóláshoz be kell jelentkezni
rename.pl 's/(, )(\d+)\.(\S+?)\.(\d+)/my$n;sprintf"%s%s-%02d-%s",$1,$4,{map{$_=>++$n}qw{Jan Feb Mar Apr Maj Jun Jul Aug Szep Okt Nov Dec}}->{$3},$2/e' *.sav
~~~~~~~~
deb http://deb.uucp.hu/ wheezy yazzy repack
- A hozzászóláshoz be kell jelentkezni