Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Prosledjivanje sadrzaja direktorijuma preko parametara

[es] :: Skript jezici :: Prosledjivanje sadrzaja direktorijuma preko parametara

[ Pregleda: 6436 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

_owl_

Član broj: 318
Poruke: 1043
*.drenik.net



+3 Profil

icon Prosledjivanje sadrzaja direktorijuma preko parametara19.03.2002. u 16:19 - pre 268 meseci
Dakle, trebala bi mi skriptica koja bi listala sadrzaj nekog direktorijuma i pozivala neki programcic kojem bi kao parametar prenosila fajlove iz tog direktorijuma. Ako je nekom nejasno evo primera sta bi to trebalo da radi:

ls /tmp
001s 003s 005s upload
002s 004s test

programce bi ovako trebalo da se pozove za svaki fajl
program $fajl (program 001s, program 003, program 005s, program upload ... )

Ja sam pokusao nesto kao
ls -1 | program
ali to ne radi

Owl
 
Odgovor na temu

random
Vladimir Vrzić
Beograd

Član broj: 85
Poruke: 3866
194.106.163.*

Sajt: www.last.fm/user/vrza


+4 Profil

icon Re: Prosledjivanje sadrzaja direktorijuma preko parametara19.03.2002. u 20:41 - pre 268 meseci
ls | xargs program
int rand(void);

Those who do not understand Unix are condemned to reinvent it, poorly.

Upali lampicu — koristi Jabber!
 
Odgovor na temu

_owl_

Član broj: 318
Poruke: 1043
*.drenik.net



+3 Profil

icon Re: Prosledjivanje sadrzaja direktorijuma preko parametara20.03.2002. u 00:04 - pre 268 meseci
Pojasnjenje

--- test.sh ---
#1/bin/sh
echo $1
--- end ---
ls -1 | xargs test.sh -- izbacuje samo prvu liniju zato sto ja ispisujem samo prvi prosledjeni argument
ls -1 | xargs -t test.sh -- test.sh pa onda navedeni svi fajlovi iz tog direktorijuma
Meni treba da se za svaki fajl pozove program sa imenom fajla kao jedinim parametrom (ako ima 50 fajlova program se poziva 50 puta a ne da se svi fajlovi iz direktorijuma proslede kao parametri programu).




Owl
 
Odgovor na temu

random
Vladimir Vrzić
Beograd

Član broj: 85
Poruke: 3866
194.106.163.*

Sajt: www.last.fm/user/vrza


+4 Profil

icon Re: Prosledjivanje sadrzaja direktorijuma preko parametara20.03.2002. u 16:55 - pre 268 meseci
Pa nemam pojma... Možda nešto ovako (mada valjda može i elegantnije):

Code:

#!/bin/sh
# shift_skripta.sh
while [ $# -ne 0 ]; do
   program $1
   shift
done


i onda

$ ls | xargs shift_skripta.sh

(Napomena: Kada izlaz komande ls pajpuješ ili redirektuješ, ne moraš da navodiš parametar -1. Probaj ls > ls.out; cat ls.out pa ćeš videti).

Alternativna varijanta je da i ls komandu ubaciš u skript, elem, ima milion načina, verujem da ćeš se snaći.
int rand(void);

Those who do not understand Unix are condemned to reinvent it, poorly.

Upali lampicu — koristi Jabber!
 
Odgovor na temu

random
Vladimir Vrzić
Beograd

Član broj: 85
Poruke: 3866
194.106.163.*

Sajt: www.last.fm/user/vrza


+4 Profil

icon Re: Prosledjivanje sadrzaja direktorijuma preko parametara20.03.2002. u 17:07 - pre 268 meseci
Mada kad sad malo bolje razmislim, to što tebi treba možda može da se jednom rečju kaže ovako:

Code:

for fajl in `ls` ; do program $fajl; done

int rand(void);

Those who do not understand Unix are condemned to reinvent it, poorly.

Upali lampicu — koristi Jabber!
 
Odgovor na temu

leka
Dejan Lekić
senior software engineer, 3Developers
Ltd.
London, UK

Član broj: 234
Poruke: 2534
*.telia.com

Sajt: dejan.lekic.org


+2 Profil

icon Re: Prosledjivanje sadrzaja direktorijuma preko parametara26.03.2002. u 00:31 - pre 267 meseci
evo nesto smuckano na brzaka
Code:

ls | awk '{print "cat " $1}' | sh


Umesto cat stavi komandu koja zelis da ti se izvrsi...

Dejan Lekic
software engineer, MySQL/PgSQL DBA, sysadmin
 
Odgovor na temu

random
Vladimir Vrzić
Beograd

Član broj: 85
Poruke: 3866
194.106.163.*

Sajt: www.last.fm/user/vrza


+4 Profil

icon Re: Prosledjivanje sadrzaja direktorijuma preko parametara29.03.2002. u 15:28 - pre 267 meseci
Ha, kako zanimljiv pristup.
int rand(void);

Those who do not understand Unix are condemned to reinvent it, poorly.

Upali lampicu — koristi Jabber!
 
Odgovor na temu

leka
Dejan Lekić
senior software engineer, 3Developers
Ltd.
London, UK

Član broj: 234
Poruke: 2534
*.telia.com

Sajt: dejan.lekic.org


+2 Profil

icon Re: Prosledjivanje sadrzaja direktorijuma preko parametara01.04.2002. u 11:36 - pre 267 meseci
Pa totalno UNIX pristup... Jedna od najmocnijih stvari UNIX-a je "pajp" :) i brzo kreiranje procesa... A ovaj moj primer koristi i jedno i drugo.
Dejan Lekic
software engineer, MySQL/PgSQL DBA, sysadmin
 
Odgovor na temu

[es] :: Skript jezici :: Prosledjivanje sadrzaja direktorijuma preko parametara

[ Pregleda: 6436 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.