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

Prosledjivanje sadrzaja direktorijuma preko parametara

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

[ Pregleda: 2406 | Odgovora: 7 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

_owl_
Centar - BG

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

Sajt: home.drenik.net/~owl


Profil

icon Prosledjivanje sadrzaja direktorijuma preko parametara19.03.2002. u 16:19

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
19.03.2002. u 16:19 

random
Vladimir Vrzić
Senior Software Engineer, Vast.com
Stari Cerak

Tehnički konsultant
Član broj: 85
Poruke: 3855
194.106.163.*

Sajt: www.last.fm/user/vrza


Profil

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

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

Upali lampicu — koristi Jabber!
19.03.2002. u 20:41 

_owl_
Centar - BG

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

Sajt: home.drenik.net/~owl


Profil

icon Re: Prosledjivanje sadrzaja direktorijuma preko parametara20.03.2002. u 00:04
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
20.03.2002. u 00:04 

random
Vladimir Vrzić
Senior Software Engineer, Vast.com
Stari Cerak

Tehnički konsultant
Član broj: 85
Poruke: 3855
194.106.163.*

Sajt: www.last.fm/user/vrza


Profil

icon Re: Prosledjivanje sadrzaja direktorijuma preko parametara20.03.2002. u 16:55
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!
20.03.2002. u 16:55 

random
Vladimir Vrzić
Senior Software Engineer, Vast.com
Stari Cerak

Tehnički konsultant
Član broj: 85
Poruke: 3855
194.106.163.*

Sajt: www.last.fm/user/vrza


Profil

icon Re: Prosledjivanje sadrzaja direktorijuma preko parametara20.03.2002. u 17:07
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!
20.03.2002. u 17:07 

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

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

Sajt: dejan.lekic.org


Profil

icon Re: Prosledjivanje sadrzaja direktorijuma preko parametara26.03.2002. u 00:31
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
26.03.2002. u 00:31 

random
Vladimir Vrzić
Senior Software Engineer, Vast.com
Stari Cerak

Tehnički konsultant
Član broj: 85
Poruke: 3855
194.106.163.*

Sajt: www.last.fm/user/vrza


Profil

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

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

Upali lampicu — koristi Jabber!
29.03.2002. u 15:28 

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

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

Sajt: dejan.lekic.org


Profil

icon Re: Prosledjivanje sadrzaja direktorijuma preko parametara01.04.2002. u 11:36
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
01.04.2002. u 11:36 

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

[ Pregleda: 2406 | Odgovora: 7 ]

Postavi temu Odgovori

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