/ 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
Tilføje noget til toppen af filer
Fra : Morten Mikkelsen


Dato : 10-04-01 13:57

Hej,
Jeg skulle gerne have indsat tre linjer fra en fil i toppen af alle mine
html-filer, men jeg kan ikke helt få det til at funke..
Det er som om jeg ikke fatter hvornår hvad skal escapes eller omgives af
gåseøjne..

Hvad gør jeg galt her:

find . -name "*.html" -type f -exec mv {} {}.gl ; cat filmedtrelinjer {}.gl
> {} \;

altså for hver html-fil ønsker jeg følgende kommander udført:
mv filnavn.html filnavn.html.gl (for at kunne danne en ny html-fil med
samme navn)
cat filmedtrelinjer filnavn.html.gl > filnavn.html

hvis jeg prøver kommandoerne enkeltvis med find, giver det mig følgende
mv {} {}.gl virker ikke
mv "{}" "{}.gl" virker

cat filmedtrelinjer {}.gl virker ikke
cat filmedtrelinjer "{}.gl" virker ikke
cat filmedtrelinjer \{\}.gl virker

Men jeg kan ikke få det til at spille sammen kombineret med > {}
hverken med "'ere eller \'ere..

Hvorfor ikke?

På forhånd tak,
/Morten



 
 
Michael Lyngbøl (10-04-2001)
Kommentar
Fra : Michael Lyngbøl


Dato : 10-04-01 14:33

On Tue, 10 Apr 2001 14:57:25 +0200, Morten Mikkelsen wrote:

> Jeg skulle gerne have indsat tre linjer fra en fil i toppen af alle mine
> html-filer, men jeg kan ikke helt få det til at funke..
> Det er som om jeg ikke fatter hvornår hvad skal escapes eller omgives af
> gåseøjne..
>
> Hvad gør jeg galt her:
>
> find . -name "*.html" -type f -exec mv {} {}.gl ; cat filmedtrelinjer {}.gl
>> {} \;

Jeg ville gøre noget a la:

#!/bin/sh

for file in `find . -type f -name '*.html'`; do
cat filmedtrelinjer $file > gnyf
mv gnyf $file
done

Ovenstående er på eget ansvar.

--
Michael Lyngbøl -- Opinions are mine[TM];
CBR 600F

Niels Bech Nielsen (10-04-2001)
Kommentar
Fra : Niels Bech Nielsen


Dato : 10-04-01 14:50

De problemer, jeg har haft med find gav mig den illusion, at -exec kun
accepterer en substition {} i linien.

Jeg havde selv problemet, men omskrev min -exec lidt så den kaldte et script

Det giver ikke noget svar, men det løste vist mit problem dengang.

--
/Niels Bech Nielsen -- Logical

"Morten Mikkelsen" <mbreum@udense.kullegienet.dk> skrev i en meddelelse
news:9auvkn$jf2$1@news.net.uni-c.dk...
> Hej,
> Jeg skulle gerne have indsat tre linjer fra en fil i toppen af alle mine
> html-filer, men jeg kan ikke helt få det til at funke..
> Det er som om jeg ikke fatter hvornår hvad skal escapes eller omgives af
> gåseøjne..
>
> Hvad gør jeg galt her:
>
> find . -name "*.html" -type f -exec mv {} {}.gl ; cat filmedtrelinjer
{}.gl
> > {} \;
>
> altså for hver html-fil ønsker jeg følgende kommander udført:
> mv filnavn.html filnavn.html.gl (for at kunne danne en ny html-fil med
> samme navn)
> cat filmedtrelinjer filnavn.html.gl > filnavn.html
>
> hvis jeg prøver kommandoerne enkeltvis med find, giver det mig følgende
> mv {} {}.gl virker ikke
> mv "{}" "{}.gl" virker
>
> cat filmedtrelinjer {}.gl virker ikke
> cat filmedtrelinjer "{}.gl" virker ikke
> cat filmedtrelinjer \{\}.gl virker
>
> Men jeg kan ikke få det til at spille sammen kombineret med > {}
> hverken med "'ere eller \'ere..
>
> Hvorfor ikke?
>
> På forhånd tak,
> /Morten
>
>



Morten Mikkelsen (10-04-2001)
Kommentar
Fra : Morten Mikkelsen


Dato : 10-04-01 16:54

"Niels Bech Nielsen" <nbn@logical.nospam.dk> wrote in message
news:663va9.egr.ln@java.logical.dk...
> De problemer, jeg har haft med find gav mig den illusion, at -exec kun
> accepterer en substition {} i linien.

Det tror jeg ikke, for
..... -exec mv {} "{}.gl" \;
funkede

Jeg tror jeg satser på for-løsningen, Michael kom med...

/Morten



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

Månedens bedste
Årets bedste
Sidste års bedste