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