/ 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
find
Fra : Esben Skov Pedersen


Dato : 27-03-02 20:37

Hvordan kan man pipe indholden fra find over i chown. Jeg har kigget lidt
på -exec fra find manualen. Jeg kan bare ikke rigtig gennemskue det.
Jeg kommer frem til noget lignende det her:

find . -group ep48567 -exec chown esben {}

så får jeg at vide; manglende parameter til -exec

med venlig hilsen Esben

 
 
Kent Friis (27-03-2002)
Kommentar
Fra : Kent Friis


Dato : 27-03-02 22:07

Den Wed, 27 Mar 2002 20:37:16 +0100 skrev Esben Skov Pedersen:
>Hvordan kan man pipe indholden fra find over i chown. Jeg har kigget lidt
>på -exec fra find manualen. Jeg kan bare ikke rigtig gennemskue det.
>Jeg kommer frem til noget lignende det her:
>
>find . -group ep48567 -exec chown esben {}
>
>så får jeg at vide; manglende parameter til -exec

find . -group ep48567 | xargs chown esben

Glem -exec.

Mvh
Kent
--
Advarsel: ny e-mail adresse - med risiko for at mails går tabt.
Den gamle adresse virker stadig, men bliver primært checket i
arbejdstiden.

Thorbjørn Ravn Ander~ (27-03-2002)
Kommentar
Fra : Thorbjørn Ravn Ander~


Dato : 27-03-02 22:14

leeloo@phreaker.net (Kent Friis) writes:

> find . -group ep48567 | xargs chown esben
>
> Glem -exec.

Hvis der er filnavn med mellemrum, duer den her ikke. Så er det noget
med -print0 til find og et flag jeg ikke lige kan huske til xargs.

--
Thorbjørn Ravn Andersen
http://unixsnedkeren.dk - Unix, Java, Web, Netværk, Århus

Kent Friis (27-03-2002)
Kommentar
Fra : Kent Friis


Dato : 27-03-02 22:20

Den 27 Mar 2002 22:13:38 +0100 skrev Thorbjørn Ravn Andersen:
>leeloo@phreaker.net (Kent Friis) writes:
>
>> find . -group ep48567 | xargs chown esben
>>
>> Glem -exec.
>
>Hvis der er filnavn med mellemrum, duer den her ikke. Så er det noget
>med -print0 til find og et flag jeg ikke lige kan huske til xargs.

xargs -0

Mvh
Kent
--
Advarsel: ny e-mail adresse - med risiko for at mails går tabt.
Den gamle adresse virker stadig, men bliver primært checket i
arbejdstiden.

Martin Moller Peders~ (28-03-2002)
Kommentar
Fra : Martin Moller Peders~


Dato : 28-03-02 00:18

In <a7tc8m$14v$1@sunsite.dk> leeloo@phreaker.net (Kent Friis) writes:

>Den Wed, 27 Mar 2002 20:37:16 +0100 skrev Esben Skov Pedersen:
>>Hvordan kan man pipe indholden fra find over i chown. Jeg har kigget lidt
>>på -exec fra find manualen. Jeg kan bare ikke rigtig gennemskue det.
>>Jeg kommer frem til noget lignende det her:
>>
>>find . -group ep48567 -exec chown esben {}
>>
>>så får jeg at vide; manglende parameter til -exec

>find . -group ep48567 | xargs chown esben

>Glem -exec.

Det vil ikke virke med filer, hvis navn indeholder et " ".

Hvis man har gnu-udgaver af find og xargs installeret kan man bruge:

find . -group ep48567 -print0 | xargs --null chown esben

Niels Andersen (28-03-2002)
Kommentar
Fra : Niels Andersen


Dato : 28-03-02 13:23

Martin Moller Pedersen wrote in <a7tjvn$902$1@news.net.uni-c.dk>:
> Det vil ikke virke med filer, hvis navn indeholder et " ".
> Hvis man har gnu-udgaver af find og xargs installeret kan man bruge:
> find . -group ep48567 -print0 | xargs --null chown esben

Så vidt jeg husker, at netop det givet mig lidt problemer. Ville det ikke
være en god ide at quote filnavnet? Mellemrum osv. bliver mig bekendt ikke
escapet...

Hvad med:

find . -group ep48567 -print0 | xargs --null -i chown esben '{}'

(-i betyder (bla.), at det, der skal sættes ind, bliver ikke bare sat til
sidst, men bliver sat ind i stedet for{}.)

--
Mvh.

Niels Andersen
Linux 2.4.18 - Debian 3.0


Kent Friis (28-03-2002)
Kommentar
Fra : Kent Friis


Dato : 28-03-02 13:55

Den Thu, 28 Mar 2002 13:22:34 +0100 skrev Niels Andersen:
>Martin Moller Pedersen wrote in <a7tjvn$902$1@news.net.uni-c.dk>:
>> Det vil ikke virke med filer, hvis navn indeholder et " ".
>> Hvis man har gnu-udgaver af find og xargs installeret kan man bruge:
>> find . -group ep48567 -print0 | xargs --null chown esben
>
>Så vidt jeg husker, at netop det givet mig lidt problemer. Ville det ikke
>være en god ide at quote filnavnet? Mellemrum osv. bliver mig bekendt ikke
>escapet...

Shell'en bliver ikke blandet ind i det, xargs kalder chown direkte.
Derfor er det ikke nødvendigt at quote filnavnet (eller rettere, hvis
du kan få quote-tegnene igennem til xargs, vil det faktisk ikke virke).

>Hvad med:
>
>find . -group ep48567 -print0 | xargs --null -i chown esben '{}'
>
>(-i betyder (bla.), at det, der skal sættes ind, bliver ikke bare sat til
>sidst, men bliver sat ind i stedet for{}.)

Det bør give samme resultat. Dine '' tegn fjerner shell'en, så xargs ser
bare {}, og dda de står sidst, bliver resultatet det samme.

Mvh
Kent
--
Advarsel: ny e-mail adresse - med risiko for at mails går tabt.
Den gamle adresse virker stadig, men bliver primært checket i
arbejdstiden.

Steen Suder (27-03-2002)
Kommentar
Fra : Steen Suder


Dato : 27-03-02 22:11

Esben Skov Pedersen wrote:
>
> Hvordan kan man pipe indholden fra find over i chown. Jeg har kigget lidt
> på -exec fra find manualen. Jeg kan bare ikke rigtig gennemskue det.
> Jeg kommer frem til noget lignende det her:
>
> find . -group ep48567 -exec chown esben {}
>
> så får jeg at vide; manglende parameter til -exec

IIRC mangler du \; til sidst.
Altså:

find . -group ep48567 -exec chown esben {} \;

--
Steen Suder "We reject kings, presidents and voting.
http://www.suder.dk/ We believe in rough consensus and running
code."
ICQ UIN: 4133803

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

Månedens bedste
Årets bedste
Sidste års bedste