Toon posts:

bestanden renamen...

Pagina: 1
Acties:

Verwijderd

Topicstarter
ik wil graag een hele zooi bestanden renamen (met linux).

Ze heten allemaal abc.####.JPG
ik wil graag ####.jpg over houden.
Bij ieder bestand moet "abc." dus weggehaald worden.

Wie kan mij vertellen met welk commando ik dit kan doen?

Bedankt...

Verwijderd

mv abc.*.jpg *.jpg

Zo?

Wel * laten staan natuurlijk :)

  • odysseus
  • Registratie: Augustus 2000
  • Laatst online: 14:23

odysseus

Debian GNU/Linux Sid

code:
1
for i in `ls abc.*.JPG`; do mv $i `echo $i | sed s/^abc\.//`; done

Leven is het meervoud van lef | In order to make an apple pie from scratch, you must first create the universe.


  • Priet
  • Registratie: Januari 2001
  • Laatst online: 12:45

Priet

To boldly do what no one has..

Lama :o

[ Voor 0% gewijzigd door Priet op 29-10-2002 18:30 . Reden: foutje, bedankt! ]

"If you see a light at the end of a wormhole, it's probably a photon torpedo!"


  • Eskimootje
  • Registratie: Maart 2002
  • Laatst online: 16:23
Windows versie: ren abc.*.jpg *.jpg

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 17-05 14:06

deadinspace

The what goes where now?

Tuxus: mv kan dat niet.

Je hebt wel een perlscriptje "rename", die kan regexps aan. Heel handig progje voor zulk soort dingen, de moeite waard om te installeren als je regelmatig zulk soort toeren uit wilt halen.

Verwijderd

Topicstarter
Euh. Ik heb t wat makkelijker gemaakt dan t was. Tis namelijk niet "abc." maar "..\\foto\\".
Ja! zo heten ze echt. Heb namelijk een hele site met wget vanaf het intranet gehaald en nu wget slaat de foto's zo op....

Voorbeeld:
..\\foto\\8900.JPG

Nu heb ik dit script gemaakt:
===========================
#!/bin/sh
for i in `ls ..\\foto\\*.JPG`; do mv $i `echo $i | sed s/^\.\.\\\\foto\\\\//`;
===========================

Maar:
line 3: syntax error: unexpected end of file

Wat doe ik fout?

Verwijderd

trial versie downloaden van acdsee http://www.acdsystems.com/English/Products/ACDSee/index.htm
bestanden selecteren en rename series gebruiken.

Verwijderd

Topicstarter
Ik zit in linux.

Verwijderd

oh sorrie

  • pinball
  • Registratie: Oktober 1999
  • Niet online

pinball

Electric Monk

Verwijderd schreef op 29 oktober 2002 @ 18:38:
===========================
#!/bin/sh
for i in `ls ..\\foto\\*.JPG`; do mv $i `echo $i | sed s/^\.\.\\\\foto\\\\//`;
===========================

Maar:
line 3: syntax error: unexpected end of file

Wat doe ik fout?
for i in `ls ..\\foto\\*.JPG`; do mv $i `echo $i | sed s/^\.\.\\\\foto\\\\//`; done

Whenever you find that you are on the side of the majority, it is time to reform.


  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 17-05 14:06

deadinspace

The what goes where now?

Je bent "done" erachter vergeten, en het hoeft niet in een script geplaatst te worden maar kan gewoon vanaf de commandline.

edit:
Grmbl, hinderlijke users altijd :P

Verwijderd

Topicstarter
Owh stommm.

Maar ik krijg nu weer een fout (eigenlijk krijg ik m zovaak als het aantal .JPG's in de dir)
==================================
mv: missing file argument
Try `mv --help' for more information.
sed: -e expression #1, char 13: Unterminated `s' command
==================================

  • pinball
  • Registratie: Oktober 1999
  • Niet online

pinball

Electric Monk

Zal wel iets met al die \\\ te maken hebben, want dat commando op zich is goed.
Probeer anders eerst eens die punten weg te halen:

for i in `ls ..\\foto\\*.JPG`; do mv $i `echo $i | sed s/^\.\.//`; done

Whenever you find that you are on the side of the majority, it is time to reform.


Verwijderd

Topicstarter
for i in `ls ..\\foto\\*.JPG`; do mv $i `echo $i | sed s/^\.\.//`; done
Fout: /bin/ls: ..foto*.JPG: No such file or directory

for i in `ls ..\\\\foto\\\\*.JPG`; do mv $i `echo $i | sed s/^\.\.//`; done
Fout: mv: cannot stat `..\\\\foto\\\\10572.JPG': No such file or directory

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 17-05 14:06

deadinspace

The what goes where now?

Hmm, even wat netter maken hoor :)

In plaats van `` kun je veel beter $() gebruiken, dat is veel overzichtelijker. En om te escapen is in dit geval '' een betere keuze ipv alles los met \ te gaan lopen escapen. Bovendien is de ls niet nodig; bash kan zelf expanden.

Dus dan wordtet zoiets:
code:
1
for i in '..\\foto\\'*.JPG; do mv ${i} $(echo ${i} | sed 's/^..\\foto\\//'); done

Verwijderd

Topicstarter
mv: when moving multiple files, last argument must be a directory
Try `mv --help' for more information.

  • odysseus
  • Registratie: Augustus 2000
  • Laatst online: 14:23

odysseus

Debian GNU/Linux Sid

Zit er toevallig ook nog een spatie in de namen, of andere speciale karakters? Anders moet je ook nog eens extra quotes rond de ${i} zetten...

Leven is het meervoud van lef | In order to make an apple pie from scratch, you must first create the universe.


Verwijderd

Topicstarter
odysseus schreef op 29 oktober 2002 @ 19:49:
Zit er toevallig ook nog een spatie in de namen, of andere speciale karakters? Anders moet je ook nog eens extra quotes rond de ${i} zetten...
Volgens mij niet...

Voorbeeldje (als ik ls doe):
..\\foto\\8367.JPG

De echte filename:
..\foto\8367.JPG

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 17-05 14:06

deadinspace

The what goes where now?

Kun je niet gewoon ff ergens rename regelen? :P
Hoeven we ons alleen nog maar druk te maken over de regexp :)

En btw, is het nou met \foto\ of met \\foto\\, of is die dubbele backslash alleen om te escapen?

  • Thijsch
  • Registratie: Februari 2002
  • Laatst online: 01-01 18:43
mv *JPG *jpg ? :? werkt dat niet gewoon?

Verwijderd

Topicstarter
nee, linux is casesensitive

  • Freak_NL
  • Registratie: Juli 2000
  • Laatst online: 17-05 10:43
Probeer deze eens:

GPRename

Een stuk Perlscript dat een GTK gui geeft :) Maar het werkt wel.

  • Zwerver
  • Registratie: Februari 2001
  • Niet online
http://freshmeat.net/releases/101946/

net fris van freshmeat doet wat jij wil geloof ik?

Woonachtig Down Under. Ik negeer je insults niet, maar tegen de tijd dat ik ze lees zijn ze meestal niet relevant meer

Pagina: 1