Sida 1 av 1

Mass renaming

Postat: 17 april 2011, 19:49:49
av Rofhök
Hejsan

Jag har en kamera som sparar bilder i ett thumbnail format, de heter exempelvis "20110402095.jpg_56x42"
nu har jag tänkt att skriva ett cronjob på det här, jag laddar upp korten till min server, via diverse olika sett.
Jag vill att cron ska för det första döpa om bilden från "20110402095.jpg_56x42" till "20110402095-thumb.jpg"
jag laddar alltså upp en fullstor bild och en thumb-bild, men vill ha lite ordning på det hela.
mitt php-script vill ha en thumb av "bild-1" för att sen kunna visa "bild-1" i stor skala.

Jag vet att jag är dålig på att förklara , kan någon hjälpa ändå kanske? har givetvis läst igenom manualen på "sed"
Men känner att ingenting fungerar idag.

Du kan få ett shell hos mig så slipper vi krångla.

Tack på förhand Micke

Re: Mass renaming

Postat: 17 april 2011, 21:29:21
av psynoise
Vet inte riktigt vad du vill göra, men massomdöpning gör man normalt med rename.

Re: Mass renaming

Postat: 17 april 2011, 22:55:11
av Rofhök
psynoise: ge mig ett bra exempel som jag kan cronjoba då?

Re: Mass renaming

Postat: 17 april 2011, 23:02:56
av sodjan
Kan du inte fixa något script som loopar genom "*.jpg_56x42" filerna och
tar var och en i tur och gör en vanlig rename efter lite stränghantering ?

Re: Mass renaming

Postat: 18 april 2011, 00:06:23
av danielr112
for i in `ls *.jpg_56x42`; do mv $i `echo $i | sed 's/jpg_56x42/jpg/g'`;done


ja eller vad du nu ville göra.

Re: Mass renaming

Postat: 18 april 2011, 00:15:34
av sodjan
Var kommer "-thumb" in i det där ?

Re: Mass renaming

Postat: 18 april 2011, 03:11:21
av Maalobs

Kod: Markera allt

ls *.jpg_56x42 | perl -wne 'chomp;my $i=$_;s/^(\d+)(\.jpg).+$/$1-thumb$2/g;rename $i,$_ or warn "$!: $i"'

Re: Mass renaming

Postat: 18 april 2011, 08:15:34
av Nerre
När jag ska göra nåt sånt där som jag inte riktigt vet hur man gör så jobbar jag i perl och tar ett steg i taget. Det funkar ju med sed-syntax i perl så just den delen att komma fram till filnamnen kan man testa sig fram med (köra print på filnamnen istället för rename) tills det blir rätt.

Det går, som några har visat här, att göra det mer kompakt, men jag tycker det är viktigare att man känner att man har koll på hur grejerna funkar än att det ser kompakt ut.

Re: Mass renaming

Postat: 19 april 2011, 21:16:16
av lgrfbs
Du kan kolla mitt "Foto on the go" script, huvudsakligen gjort för att skala om och lägga (C) bild i bilden som skalades om.
http://lgrfbs.dyndns.org/sef/FotoOnGo.tar.gz

Re: Mass renaming

Postat: 23 april 2011, 00:39:39
av bos
Rofhök skrev:Jag vill att cron ska för det första döpa om bilden från "20110402095.jpg_56x42" till "20110402095-thumb.jpg"
for x in *.jpg ; do mv $x $(echo $x | sed -e 's:.jpg.*$:-thumb.jpg:') ; done

Om filnamnen någon gång kommer innehålla mellanslag så kapsla in alla argument med citationstecken (").