|
| batch rename ? Fra : Bjarne Jensen |
Dato : 02-11-07 12:52 |
|
Jeg har et dir fyldt med pdf filer som hedder 01.pdf, 02.pdf til xx.pdf.
(to-cifrede tal, linært stigende til et variabelt maximum +.pdf)
Nu vil jeg gerne rename alle filer så den nummeriske rækkefølge bliver
omvendt....?
Mvh / Bjarne
(er "script-kiddie" et nedsættende udtryk?)
| |
Thorbjørn Ravn Ander~ (02-11-2007)
| Kommentar Fra : Thorbjørn Ravn Ander~ |
Dato : 02-11-07 13:05 |
|
Bjarne Jensen <bjarne.b.jensen@gmail.com> writes:
> Nu vil jeg gerne rename alle filer så den nummeriske rækkefølge bliver
> omvendt....?
Tror det måske var en bedre ide hvis du beskriver hvilket problem du
gerne vil løse på den måde?
--
Thorbjørn Ravn Andersen
| |
Klaus Alexander Seis~ (02-11-2007)
| Kommentar Fra : Klaus Alexander Seis~ |
Dato : 02-11-07 14:54 |
|
Thorbjørn Ravn Andersen skrev:
>> Nu vil jeg gerne rename alle filer så den nummeriske række-
>> følge bliver omvendt....?
>
> Tror det måske var en bedre ide hvis du beskriver hvilket
> problem du gerne vil løse på den måde?
Jeg læser opgaven således at hvis Bjarne har filerne 0[1-4].pdf, skal
de omdøbes således:
01.pdf -> 04.pdf
02.pdf -> 03.pdf
03.pdf -> 02.pdf
04.pdf -> 01.pdf
Mvh,
--
Klaus Alexander Seistrup
http://klaus.seistrup.dk/
| |
Bjarne Jensen (02-11-2007)
| Kommentar Fra : Bjarne Jensen |
Dato : 02-11-07 14:58 |
|
Klaus Alexander Seistrup skrev:
> Jeg læser opgaven således at hvis Bjarne har filerne 0[1-4].pdf, skal
> de omdøbes således:
>
> 01.pdf -> 04.pdf
> 02.pdf -> 03.pdf
> 03.pdf -> 02.pdf
> 04.pdf -> 01.pdf
Nemlig!
Mvh / Bjarne
| |
Claus Rasmussen (02-11-2007)
| Kommentar Fra : Claus Rasmussen |
Dato : 02-11-07 15:54 |
|
Bjarne Jensen wrote:
> Klaus Alexander Seistrup skrev:
>
>> Jeg læser opgaven således at hvis Bjarne har filerne 0[1-4].pdf, skal
>> de omdøbes således:
>>
>> 01.pdf -> 04.pdf
>> 02.pdf -> 03.pdf
>> 03.pdf -> 02.pdf
>> 04.pdf -> 01.pdf
Så kan flg. løse problemet - de omdøbte filer bliver placeret i
kataloget 'new':
NEW_DIR=new
mkdir $NEW_DIR || exit 1
max=$(ls *.pdf | tail -1 | sed -e 's/^0*//' -e 's/\.pdf//')
for file in $(ls *.pdf)
do index=$(echo $file | sed -e 's/^0*//' -e 's/\.pdf//')
new_file=$(printf "$NEW_DIR/%02d.pdf" $(( $max - $index + 1)) )
cp -a $file $new_file
done
Hvis der er mere end 100 filer, skal '%02d' erstattes med '%03d'.
-Claus
| |
Bjarne Jensen (02-11-2007)
| Kommentar Fra : Bjarne Jensen |
Dato : 02-11-07 18:18 |
|
Det var tæt på, Claus!
Jeg slettede bare "+ 1" i "$(( $max - $index + 1)) )
ellers blev nummeret 1 for høj.
Mange tak !
Mvh / Bjarne
PS: Hvordan får man ` (back quote) ud af et standard dansk tastatur ?
| |
Kent Friis (02-11-2007)
| Kommentar Fra : Kent Friis |
Dato : 02-11-07 18:22 |
|
Den Fri, 02 Nov 2007 18:18:22 +0100 skrev Bjarne Jensen:
> Det var tæt på, Claus!
>
> Jeg slettede bare "+ 1" i "$(( $max - $index + 1)) )
> ellers blev nummeret 1 for høj.
>
>
> Mange tak !
>
> Mvh / Bjarne
>
>
> PS: Hvordan får man ` (back quote) ud af et standard dansk tastatur ?
Normalt med shift + tasten til venstre for backspace ( |'` ),
efterfulgt af et mellemrum.
(Af ukendte årsager virker det ikke på mit tastatur idag (jeg ved ikke
om det nogensinde har virket, jeg tror aldrig jeg bruger den), det
gør shift + tasten fire gange i træk til gengæld - så hvis det første
ikke virker, så prøv denne metode).
Mvh
Kent
--
"So there I was surrounded by all these scary creatures
They were even scarier than what Microsoft call features"
- C64Mafia: Forbidden Forest (Don't Go Walking Slow).
| |
Bjarne Jensen (02-11-2007)
| Kommentar Fra : Bjarne Jensen |
Dato : 02-11-07 18:31 |
|
Kent Friis skrev:
> Normalt med shift + tasten til venstre for backspace ( |'` ),
> efterfulgt af et mellemrum.
Ja, det er så nemt når mare man kender en der hedder USENET.
> (Af ukendte årsager ...<zipped>
Kender godt fornemmelsen ;)
Mvh / Bjarne
| |
Jørgen Heesche (02-11-2007)
| Kommentar Fra : Jørgen Heesche |
Dato : 02-11-07 21:51 |
|
Kent Friis wrote:
>>
>> PS: Hvordan får man ` (back quote) ud af et standard dansk tastatur ?
>
> Normalt med shift + tasten til venstre for backspace ( |'` ),
> efterfulgt af et mellemrum.
>
> (Af ukendte årsager virker det ikke på mit tastatur idag (jeg ved ikke
> om det nogensinde har virket, jeg tror aldrig jeg bruger den), det
> gør shift + tasten fire gange i træk til gengæld - så hvis det første
> ikke virker, så prøv denne metode).
>
Den såkaldte "back quote" er et af flere mulige accenttegn.
Det er "dead keys". Se her: http://tldp.org/HOWTO/Danish-HOWTO-2.html
"dead keys" kan disables i x86Config under keyboard-konfigurationen
med option XkbVariant "nodeadkeys"
--
Med venlig hilsen
Jørgen Heesche
mailto:heesche@webspeed.dk
| |
Thorbjørn Ravn Ander~ (02-11-2007)
| Kommentar Fra : Thorbjørn Ravn Ander~ |
Dato : 02-11-07 15:01 |
|
Klaus Alexander Seistrup <klaus@seistrup.dk> writes:
> Jeg læser opgaven således at hvis Bjarne har filerne 0[1-4].pdf, skal
> de omdøbes således:
>
> 01.pdf -> 04.pdf
> 02.pdf -> 03.pdf
> 03.pdf -> 02.pdf
> 04.pdf -> 01.pdf
Det har jeg forstået, og det kan formentlig klares med et passende
perlscript der bruger rename.
Jeg går ud fra spørgsmålet er stillet som del i at løse et større
problem, og det er DET jeg spørger til (skal man bytte siderne om i en
udskrift af hensyn til en sær printer eller lignende).
--
Thorbjørn Ravn Andersen
| |
Peter Dalgaard (02-11-2007)
| Kommentar Fra : Peter Dalgaard |
Dato : 02-11-07 15:20 |
|
nospam0000@gmail.com (Thorbjørn Ravn Andersen) writes:
> Klaus Alexander Seistrup <klaus@seistrup.dk> writes:
>
>> Jeg læser opgaven således at hvis Bjarne har filerne 0[1-4].pdf, skal
>> de omdøbes således:
>>
>> 01.pdf -> 04.pdf
>> 02.pdf -> 03.pdf
>> 03.pdf -> 02.pdf
>> 04.pdf -> 01.pdf
>
> Det har jeg forstået, og det kan formentlig klares med et passende
> perlscript der bruger rename.
>
> Jeg går ud fra spørgsmålet er stillet som del i at løse et større
> problem, og det er DET jeg spørger til (skal man bytte siderne om i en
> udskrift af hensyn til en sær printer eller lignende).
Tja, jeg har det samme problem med mit gamle Canon filmkamera og
digitale fremkaldelser fordi den optager filmen "baglæns" ved at
trække hele filmen ud først og køre den tilbage i kassetten. Dvs.
billede 001 er det der er optaget sidst, osv.
--
O__ ---- Peter Dalgaard Øster Farimagsgade 5, Entr.B
c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K
(*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard@biostat.ku.dk) FAX: (+45) 35327907
| |
Thorbjørn Ravn Ander~ (02-11-2007)
| Kommentar Fra : Thorbjørn Ravn Ander~ |
Dato : 02-11-07 17:31 |
|
Peter Dalgaard <p.dalgaard@biostat.ku.dk> writes:
> Tja, jeg har det samme problem med mit gamle Canon filmkamera og
> digitale fremkaldelser fordi den optager filmen "baglæns" ved at
> trække hele filmen ud først og køre den tilbage i kassetten. Dvs.
> billede 001 er det der er optaget sidst, osv.
Dit kamera optager billeder i PDF-format? Fiks sag der.
--
Thorbjørn Ravn Andersen
| |
Peter Dalgaard (02-11-2007)
| Kommentar Fra : Peter Dalgaard |
Dato : 02-11-07 17:52 |
|
nospam0000@gmail.com (Thorbjørn Ravn Andersen) writes:
> Peter Dalgaard <p.dalgaard@biostat.ku.dk> writes:
>
>> Tja, jeg har det samme problem med mit gamle Canon filmkamera og
>> digitale fremkaldelser fordi den optager filmen "baglæns" ved at
>> trække hele filmen ud først og køre den tilbage i kassetten. Dvs.
>> billede 001 er det der er optaget sidst, osv.
>
> Dit kamera optager billeder i PDF-format? Fiks sag der.
Og på filmkassetter?
Men nej, det er svjh .jpg der kommer tilbage fra laboratoriet i
omvendt nummerorden.
--
O__ ---- Peter Dalgaard Øster Farimagsgade 5, Entr.B
c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K
(*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard@biostat.ku.dk) FAX: (+45) 35327907
| |
Bjarne Jensen (02-11-2007)
| Kommentar Fra : Bjarne Jensen |
Dato : 02-11-07 15:27 |
|
Ah... det er pdf'er som jeg har scannet på en maskine med arkføder.
Det var ikke muligt at få "bag-siden" i den rigtige rækkefølge medmindre
jeg lavede manual fødning.
Mvh / Bjarne
| |
Bjarne Jensen (02-11-2007)
| Kommentar Fra : Bjarne Jensen |
Dato : 02-11-07 15:33 |
|
Det er pdf'er som jeg har scannet på en maskine med arkføder.
Lige-sidenumre i en fil og ulige i en anden.
Det var ikke muligt at få "bag-siden" i den rigtige rækkefølge medmindre
jeg lavede manual fødning.
Med pdftk har jeg skilt hver side ud og når jeg har fået dem omdøbt skal
de samles igen med pdftk.
Mvh / Bjarne
| |
Klaus Alexander Seis~ (02-11-2007)
| Kommentar Fra : Klaus Alexander Seis~ |
Dato : 02-11-07 15:48 |
|
Bjarne Jensen skrev:
> Med pdftk har jeg skilt hver side ud og når jeg har fået dem
> omdøbt skal de samles igen med pdftk.
Nu kender jeg ikke pdftk, men hvis den kan tage argumenter som viser
hvilke filer den skal bruge i hvaffor'n rækkefølge, kan du få den
omvendte rækkefølge med tac(1):
#v+
$ seq 1 3
1
2
3
$ seq 1 3 | tac
3
2
1
$
#v-
I dit tilfælde kunne filerne i omvendt rækkefølge nævnes med
#v+
$ ls [0-9][0-9].pdf | tac
#v-
Og måske samles med noget i retning af
#v+
$ pdftk $(ls [0-9][0-9].pdf | tac) cat output samlet_omvendt.pdf
#v-
Hjælper det?
Mvh,
--
Klaus Alexander Seistrup
http://klaus.seistrup.dk/
| |
Bjarne Jensen (02-11-2007)
| Kommentar Fra : Bjarne Jensen |
Dato : 02-11-07 19:06 |
|
Klaus Alexander Seistrup skrev:
> Og måske samles med noget i retning af
>
> $ pdftk $(ls [0-9][0-9].pdf | tac) cat output samlet_omvendt.pdf
>
> Hjælper det?
Det er jo elegant! Det der mangler er så lige at jeg skal have flettet
de ulige sider ind.
"Ulige" i betydningen "venstre", filerne for side 1 og 2 hedder som
udgangspunkt det samme -> 01.pdf
Men man kan jo splitte samlet_omvendt.pdf i enkeltsider igen og samle
den derfra.
Tak!
Mvh / Bjarne
| |
|
|