/ 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
mv
Fra : Dieter Britz


Dato : 13-04-07 08:20

Jeg har en del filer i et directory (Linux) som jeg vil omdøbe.
De hedder alle sammen *.PDF, og jeg vil absolut gerne have dem
hedde *.pdf. Kald det pedantisk, men det vil jeg altså.

Jeg gjorde det på en meget besværlig måde. Først

ls *.PDF > change

og så gik jeg ind i filen change med emacs og ændrede hver linie, fx,
fra
blabla.PDF
til
mv blabla.PDF blabla.pdf
med efterfølgende chmod osv. Godt nok med cut/paste, men det tog tid.

Det er OK når der kun er 5-10 af dem, men her var der ret mange.
Det gik godt på HD'en i PC'en. Men på en backup ekstern HD fik jeg at
vide, for hver fil, at sådan hedder den jo i forvejen, som om systemet
ikke skelnede mellem små og store bogstaver. Hvorfor?

Og, er der en simpel måde at gør det på? Måske en shell script eller
en enkelt kommando?
--
Dieter Britz, http:<slashslash>w^3.chem.au.dk/~db


 
 
Rene Joergensen (13-04-2007)
Kommentar
Fra : Rene Joergensen


Dato : 13-04-07 08:25

Dieter Britz <britz@chem.au.dk> wrote:

> Og, er der en simpel måde at gør det på? Måske en shell script eller
> en enkelt kommando?

rename 's/\.PDF$/.pdf/' *.PDF

--
-René


Peter Dalgaard (13-04-2007)
Kommentar
Fra : Peter Dalgaard


Dato : 13-04-07 08:36

Rene Joergensen <nospam@fzr.dk> writes:

> Dieter Britz <britz@chem.au.dk> wrote:
>
>> Og, er der en simpel måde at gør det på? Måske en shell script eller
>> en enkelt kommando?
>
> rename 's/\.PDF$/.pdf/' *.PDF

UPS!! Der må være to slags rename i omløb:

$ rename
call: rename from to files...

i FC6. Man skal vist godtnok være ret uheldig for at lave ulykker ved
at forbytte dem, men jeg får alligevel lidt myrekryb af sådan noget.

--
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

Sune Vuorela (13-04-2007)
Kommentar
Fra : Sune Vuorela


Dato : 13-04-07 08:50

On 2007-04-13, Peter Dalgaard <p.dalgaard@biostat.ku.dk> wrote:
> Rene Joergensen <nospam@fzr.dk> writes:
>
>> Dieter Britz <britz@chem.au.dk> wrote:
>>
>>> Og, er der en simpel måde at gør det på? Måske en shell script eller
>>> en enkelt kommando?
>>
>> rename 's/\.PDF$/.pdf/' *.PDF
>
> UPS!! Der må være to slags rename i omløb:

Det er der.

$ rename
Usage: rename [-v] [-n] [-f] perlexpr [filenames]


debian'er har en perl rename der kan væsentlig flere tricks.

/Sune

Rene Joergensen (13-04-2007)
Kommentar
Fra : Rene Joergensen


Dato : 13-04-07 08:58

Peter Dalgaard <p.dalgaard@biostat.ku.dk> wrote:

>> rename 's/\.PDF$/.pdf/' *.PDF
> UPS!! Der må være to slags rename i omløb:

Jeps, helt sikkert. Glemte at skrive at det var på Debian som har deres
egen

> i FC6. Man skal vist godtnok være ret uheldig for at lave ulykker ved
> at forbytte dem, men jeg får alligevel lidt myrekryb af sådan noget.

Sådan er det jo når noget afviger fra standarderne Mine Solaris
maskiner kender intet til rename.

--
-René


Peter Mogensen (13-04-2007)
Kommentar
Fra : Peter Mogensen


Dato : 13-04-07 08:28

Dieter Britz wrote:
> Jeg har en del filer i et directory (Linux) som jeg vil omdøbe.
> De hedder alle sammen *.PDF, og jeg vil absolut gerne have dem
> hedde *.pdf. Kald det pedantisk, men det vil jeg altså.
....
> mv blabla.PDF blabla.pdf
....
> Og, er der en simpel måde at gør det på? Måske en shell script eller
> en enkelt kommando?

rename 's/\.PDF$/.pdf/' *.PDF


alternativt (hvis man ikke er stærk i regulære udtryk)

apt-get install mmv
man mmv

Peter

Peter Dalgaard (13-04-2007)
Kommentar
Fra : Peter Dalgaard


Dato : 13-04-07 08:31

Dieter Britz <britz@chem.au.dk> writes:

> Jeg har en del filer i et directory (Linux) som jeg vil omdøbe.
> De hedder alle sammen *.PDF, og jeg vil absolut gerne have dem
> hedde *.pdf. Kald det pedantisk, men det vil jeg altså.
>
> Jeg gjorde det på en meget besværlig måde. Først
>
> ls *.PDF > change
>
> og så gik jeg ind i filen change med emacs og ændrede hver linie, fx,
> fra
> blabla.PDF
> til
> mv blabla.PDF blabla.pdf
> med efterfølgende chmod osv. Godt nok med cut/paste, men det tog tid.
>
> Det er OK når der kun er 5-10 af dem, men her var der ret mange.
> Det gik godt på HD'en i PC'en. Men på en backup ekstern HD fik jeg at
> vide, for hver fil, at sådan hedder den jo i forvejen, som om systemet
> ikke skelnede mellem små og store bogstaver. Hvorfor?

Det afhænger af filsystemet, FAT/NTFS er underlige, og vistnok også
alt der mountes via Samba.

> Og, er der en simpel måde at gør det på? Måske en shell script eller
> en enkelt kommando?

Hvilken "Linux". Fedora har "rename", e.g.

rename .PDF .pdf *.PDF

ellers må det være noget med (utestet!)

for i in *.PDF ; do mv $i "`basename $i .PDF`".pdf ; done

(gåseøjnene burde sikre mod filer med blanktegn i).

--
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

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408522
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste