|
|
VNIMANIE: Izpolzvaite forumite na saita za da zadadete vashite vuprosi.
Vupros |
Ot: Marto (martopost __@__ abv__dot__bg) |
Data: 01/17/2002 |
Stava duma sa BASH skript, vuprosut mi e sledniia:
Izpulniavam komandata find po sledniia nachin:
find . -name "*.html" -print
na stdout da rechem se izvezhda slednoto, predstaveno na dva
reda:
/hame/John/index.html
/home/John/links.html
iskam da prisvoia vseki edin red na otdelna promenliva
primerno:
a=/hame/John/index.html
b=/home/John/links.html
Kak moga da go napravia ?
Izmislih edin variant, no toi se otnasia samo za
posledniia red i ne mi vurshi rabota.
Mozhe da stane taka:
b=`find . -name "*.html" -print | tail -1`
Tail otpechatva opredelen broi redove, zapochvaiki
ot posledniia kum purviia.
Blagodria vi otgovora!
|
Otgovor #1 |
Ot: Sudo |
Data: 01/17/2002 |
Ami RESULTS=`find . -name "*.html" -print` shte ti vurne
rezultata v masiv i posle :
for I in $RESULTS; do
echo $I # ili kvoto tam iskash da pravish :)
done
Ima i oshte pone edin nachin:
find . -name "*.html" -exec COMMAND; # Try man find :)
Ama tova ne sum go polzval che sum murzeliv :(((
Uspeh
|
Otgovor #2 |
Ot: Marto |
Data: 01/17/2002 |
Blagodaria ti za otgovara vse pak, no tova ne pomaga !
Mozhebi ne si me razbral pravilno shte se opitam da go zadam
po sledniia po-prost nachin:
Imam edin tekstov vail "file.txt", koito sudurzha slednite
2 reda v sebe si:
/home/John/index.html
/home/John/webs.html
Az iskam chrez BASH script da otvoria tozi fail za chetene i
da prisvoia purviia red na edna promenliva "a" i vtoriia red
na vtora promenliva "b". Kak da go napravia ? Blagodaria !
|
Otgovor #3 |
Ot: ttl |
Data: 01/18/2002 |
probvai sys slednoto:
promenliva=`gawk '/tova koeto tyrsish/{print}' file.txt`
naprimer:
a=`gawk '/John*index*html/{print}' file.txt`
b=`gawk `/John*links*html/{print}' file.txt`
i tn. .... ne sum mnogo siguren no probvai varianti ...
procheti neshto i za sed osven za awk mnogo sa polezni
v takiva sluchai :)
|
Otgovor #4 |
Ot: milen |
Data: 01/18/2002 |
razbral te e dobre , bachka si kakto ti kazva Sudo, i tva e
naj naturalnia variant.
da go povtora:
i=0
for b in `cat file.txt`
do
a[$i]=$b
let i=$i+1
done
i posle mozesh da vidish koj da e element ot masiva:
for i in 2 3 4
do
echo ${a[$i]}
done
P.S. polzvam masiv, stot misla che iskash da si zapazish
vsichkite promenlivi. ako ste gi obrabotvash edna po edna,
ne ti trebe. abe, dobre e da prochetesh tva:
http://linuxdoc.org/HOWTO/Adv-Bash-Scr-HOWTO/index.html
|
Otgovor #5 |
Ot: Milen |
Data: 01/18/2002 |
P.P.S.
i oburni golemo vnimanie za kvo sluzak kavichkite,
apostrofite, razlichnite skobi i t.n.
vazno e.
|
<< cbq (0
) | problem s kompilaciqta na qdroto (5
) >>
|
|
|
|
|