Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

Prosledjivanje sadrzaja direktorijuma preko parametara

  • 7 odgovora
  • 9.102 pregleda

Najnovija ↓

Prosledjivanje sadrzaja direktorijuma preko parametara 19.03.2002. u 17:19 · pre 299 meseci #1
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
Potpis
Owl
Re: Prosledjivanje sadrzaja direktorijuma preko parametara 20.03.2002. u 01:04 · pre 299 meseci #3
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).



Potpis
Owl
Re: Prosledjivanje sadrzaja direktorijuma preko parametara 20.03.2002. u 17:55 · pre 299 meseci #4
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.
Potpis
int rand(void);

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

Upali lampicu — koristi Jabber!
Re: Prosledjivanje sadrzaja direktorijuma preko parametara 20.03.2002. u 18:07 · pre 299 meseci #5
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
Potpis
int rand(void);

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

Upali lampicu — koristi Jabber!
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme