/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
To ting: Rename af filer og Sendmail DS fu~
Fra : John Doe


Dato : 12-06-03 15:13

Jeg har to "problemer" (er ikke problemer men snarere ønsker).

Jeg har en masse filer der er navngivet således:
2003-02-06 #010 - Filen er 100MB stor.avi
2003-02-06 #011 - Dette er et billede.jpg
2003-02-06 #025 - Dette er et billede.gif
2003-02-06 #125 - Dette er også et billede.gif
.... osv ...

Jeg vil gerne have disse filer til at hedde:
2003-02-06 #010.avi
2003-02-06 #011.jpg
2003-02-06 #025.gif
2003-02-06 #125.gif

Lidt a'la en "mv 2003-02-06* 2003-02-06????.*", men det virker selvsagt
ikke.

Endvidere har jeg en Sendmail som modtager post fra flere domæner. Post fra
ét specifikt domæne vil jeg gerne kun modtage fra én (eller flere) givne
postservere, da post derfra bliver scannet for virus. Kan man dét?

Jeg køre FreeBSD v4.8 med bash shell.

John



 
 
John Doe (16-06-2003)
Kommentar
Fra : John Doe


Dato : 16-06-03 14:00

> Jeg har to "problemer" (er ikke problemer men snarere ønsker).

Ingen som har et bud på disse?

John



Erlo Haugen (16-06-2003)
Kommentar
Fra : Erlo Haugen


Dato : 16-06-03 14:05

On Thu, 12 Jun 2003 16:13:15 +0200
"John Doe" <john@doe.com> wrote:

> Jeg har to "problemer" (er ikke problemer men snarere ønsker).
>
> Jeg har en masse filer der er navngivet således:
> 2003-02-06 #010 - Filen er 100MB stor.avi
> 2003-02-06 #011 - Dette er et billede.jpg
> 2003-02-06 #025 - Dette er et billede.gif
> 2003-02-06 #125 - Dette er også et billede.gif
> ... osv ...
>
> Jeg vil gerne have disse filer til at hedde:
> 2003-02-06 #010.avi
> 2003-02-06 #011.jpg
> 2003-02-06 #025.gif
> 2003-02-06 #125.gif
>
> Lidt a'la en "mv 2003-02-06* 2003-02-06????.*", men det virker selvsagt
> ikke.
>
Hvor står der hvilke type de enkelte filer har? (Hvordan ved du at 2003-02-06
#010 er en AVI ?) Er der et mønster ud fra nummereringen?

Erlo
--
Remove the underscores

John Doe (16-06-2003)
Kommentar
Fra : John Doe


Dato : 16-06-03 15:51

> > Lidt a'la en "mv 2003-02-06* 2003-02-06????.*", men det virker selvsagt
> > ikke.
>
>Hvor står der hvilke type de enkelte filer har? (Hvordan ved du at
2003-02-06
>#010 er en AVI ?) Er der et mønster ud fra nummereringen?

Der er ingen mønster i det, nej.

John



Peter Makholm (16-06-2003)
Kommentar
Fra : Peter Makholm


Dato : 16-06-03 14:17

"John Doe" <john@doe.com> writes:

> Jeg har en masse filer der er navngivet således:
> 2003-02-06 #010 - Filen er 100MB stor.avi
> 2003-02-06 #011 - Dette er et billede.jpg
> 2003-02-06 #025 - Dette er et billede.gif
> 2003-02-06 #125 - Dette er også et billede.gif
> ... osv ...
>
> Jeg vil gerne have disse filer til at hedde:
> 2003-02-06 #010.avi
> 2003-02-06 #011.jpg
> 2003-02-06 #025.gif
> 2003-02-06 #125.gif

Hvis du har perl-versionen af rename kan du klare det med:

$ rename 's/(\d\d\d\d-\d\d-\d\d\s#\d\d\d)[^.]*(.*)/$1$2/' *

> Jeg køre FreeBSD v4.8 med bash shell.

Men da FreeBSD ikke kommer med dette script kan du finde det på CPAN:
<http://search.cpan.org/author/PEDERST/rename-1.4/>

--
Peter Makholm | Wisdom has two parts:
peter@makholm.net | 1) having a lot to say, and
http://hacking.dk | 2) not saying it

John Doe (16-06-2003)
Kommentar
Fra : John Doe


Dato : 16-06-03 15:54

> Hvis du har perl-versionen af rename kan du klare det med:
> $ rename 's/(\d\d\d\d-\d\d-\d\d\s#\d\d\d)[^.]*(.*)/$1$2/' *

Whow, jeg vil prøve at kigge på den, tak. Den ser... spændende ud

John



John Doe (16-06-2003)
Kommentar
Fra : John Doe


Dato : 16-06-03 16:14

> > Jeg har en masse filer der er navngivet således:
> > 2003-02-06 #010 - Filen er 100MB stor.avi
> > 2003-02-06 #011 - Dette er et billede.jpg
> > 2003-02-06 #025 - Dette er et billede.gif
> > 2003-02-06 #125 - Dette er også et billede.gif
> > ... osv ...
> >
> > Jeg vil gerne have disse filer til at hedde:
> > 2003-02-06 #010.avi
> > 2003-02-06 #011.jpg
> > 2003-02-06 #025.gif
> > 2003-02-06 #125.gif
>
> Hvis du har perl-versionen af rename kan du klare det med:
> $ rename 's/(\d\d\d\d-\d\d-\d\d\s#\d\d\d)[^.]*(.*)/$1$2/' *

Hvis jeg nu f.eks. hellere ville have dem til at hedde:

20030206#010.avi
20030206#011.jpg
osv.. altså uden nogen mellemrum eller - ?

Jeg har set på dokumentationen men må sige, at jeg ikke helt forstår dens
virkemåde. Jeg kan godt se, at den omdøber det til parameter 1 og 2 ($1$2)
og kan også se hvad den søger på (\d\d\d\d-\d..osv) men kan ikke se hvordan
den efterfølgende kan erstatte alle mellemrum med ingenting?

John



Peter Makholm (16-06-2003)
Kommentar
Fra : Peter Makholm


Dato : 16-06-03 16:37

"John Doe" <john@doe.com> writes:

> Jeg har set på dokumentationen men må sige, at jeg ikke helt forstår dens
> virkemåde. Jeg kan godt se, at den omdøber det til parameter 1 og 2 ($1$2)
> og kan også se hvad den søger på (\d\d\d\d-\d..osv) men kan ikke se hvordan
> den efterfølgende kan erstatte alle mellemrum med ingenting?

Det er almindelige perlkompatible regulære udtryk.

rename 's/^(\d{4})-(\d\d)-(\d\d)\s(#\d{3})[^.]*(.*)/$1$2$3$4$5/' *

Læs perlre(1)

--
Peter Makholm | I laugh in the face of danger. Then I hide until
peter@makholm.net | it goes away
http://hacking.dk | -- Xander

Erlo Haugen (16-06-2003)
Kommentar
Fra : Erlo Haugen


Dato : 16-06-03 16:01

On Mon, 16 Jun 2003 16:50:59 +0200
"John Doe" <john@doe.com> wrote:

> > > Lidt a'la en "mv 2003-02-06* 2003-02-06????.*", men det virker selvsagt
> > > ikke.
>
> >Hvor står der hvilke type de enkelte filer har? (Hvordan ved du at
> 2003-02-06
> >#010 er en AVI ?) Er der et mønster ud fra nummereringen?
>
> Der er ingen mønster i det, nej.

Hvodden ved du så hvad filerne skal hedde ???

Erlo
--
Remove the underscores

Søg
Reklame
Statistik
Spørgsmål : 177554
Tips : 31968
Nyheder : 719565
Indlæg : 6408852
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste