[ shx @ 19.05.2009. 16:43 ] @
kako parsirati u shell skripti npr. sljedeci string:
23 2 54 4 98 bla bla

meni treba ovaj 5. broj, odnosno string (98), da ga spremim u neku varijablu

hvala
[ jablan @ 19.05.2009. 16:47 ] @
man cut
[ Srđan Pavlović @ 19.05.2009. 18:14 ] @
srdjan@Zverko:~$ VARIJABLA=$(echo prvi drugi treci cetvrti peti sesti sedmi | cut -d' ' -f5)
srdjan@Zverko:~$ echo $VARIJABLA
peti
srdjan@Zverko:~$


/edit: - sorry, tek sad videh da treba da ga stavis i u varijablu. Ispravio sam. To je valjda to sto 'oces.


[Ovu poruku je menjao Kernel-1 dana 19.05.2009. u 19:38 GMT+1]
[ shx @ 20.05.2009. 10:17 ] @
hvala!!

a kako mogu npr. iz string koji se sastoji iz 2 redka, izvuci samo 2. redak?

npr

a dsadasd dsadasd
b sdasdad dsadasa

i sad bih htio imati u svom stringu ovaj drugi redak: b sdasdad dsadasa

hvala
[ Jbyn4e @ 20.05.2009. 10:26 ] @
man awk.

Code:

awk '{if (NR==2) print $0}' fajl


Drugi nacin (komplikovaniji): uzmes prvih N linija i prikazes poslednju:
Code:

head -2 fajl| tail -1



[ shx @ 20.05.2009. 10:49 ] @
ne treba mi za fajl, nego za string

pa ako moze
[ Srđan Pavlović @ 20.05.2009. 11:15 ] @
A zašto ne bi uzeo malo da pogledaš kako se radi u bash-u sa stringovima?
Ima dosta o tome po netu. Recimo ovde imas nešto:

http://www.faqs.org/docs/abs/HTML/string-manipulation.html

http://tldp.org/LDP/Bash-Beginners-Guide/html/

http://www.linuxjournal.com/article/8919

http://www.cs.wright.edu/~pmat...urses/333/Notes/bash-vars.html

Nije baš fazon da za sve dobijaš rešenja "na tacni", čitaj već objašnjeno, pa ako negde zapne konkretno, pitaj ;)
[ Jbyn4e @ 20.05.2009. 12:23 ] @
Jes' da sam pogresno procitao, ali nema veze..

A sve se nadaH da ce zbog ovolikih upucivanja na manual (man) i sam nesto pogledati... kad ono dzabe.

Kao sto rece Srdjan, kad negde konkretno zapne nakon sto iscitas uputstva, pitaj ponovo.
[ shx @ 20.05.2009. 12:37 ] @
zahvaljujem ljudi!!!

ne snalazim se bas najbolje u ovom okruzenju, a nemam bas puno vremena za ucenje shell scriptinga.
ali ocito cu ga morat malo stvorit.

hvala za sve. isprike na uznemiravanju
[ Jbyn4e @ 20.05.2009. 13:02 ] @
No problemo, ali ovaj forum nije za resavanje necijih zadataka, vec za ucenje/ispetljavanje iz problema, zato ti dajemo linkove i uputstva sta da radis.

Sve najbolje i javi se opet ako nesto zapne.
[ shx @ 20.05.2009. 13:25 ] @
skuzio sam da sam pretjerao.

citao sam ja man stranice i prije nego ste reagirali, tako da i nije bas da se nisam potrudio. ali nisam uspio pa sam slao.
kad uspijem javit cu.

pozdrav

hvala
[ shx @ 20.05.2009. 21:03 ] @
evo skuzio sam. komanda sed mi je pomogla. interesantno mi je kako je niko ovdje nije spominjao.

sed '1d'
izbacuje prvi redak, ostaju ostali

npr. ispis datoteke bez prvog retka:

cat tekst.txt | sed '1d'

ispis datoteke bez 1. i 3. retka:

cat tekst.txt | sed '1,3d'

ispis prvog retka, odnosno brise se sve iza drugog retka ukljucujuci i njega:

cat tekst.txt | sed '2,$d'


zahvaljujem svima
[ Jbyn4e @ 21.05.2009. 10:20 ] @
Niko nije rekao zato sto sed (stream editor) ima mnogo vise mogucosti nego za ono sto tebi treba. Upucen si na awk jer awk moze i liniju da razbije na delove ($0 je cela linija, $1 pa nadalje su delovi), kao sto moze i kombinacija sa cut. Neke naredbe su brze a neke sporije - zavisno od kolicine podataka... sed se uglavnom koristi vise za zamene (opcija s, primer, treba ti umesto beograd do novog sada da pise nis do novog sada:

echo "beograd do novog sada"| sed 's/beograd/nish/'

)
Ima jos jaaaaaaaaaako puno komandi koje mogu biti iskoristene za razne svrhe.. ali najcesce se koristi ta kombinacija - sed, awk, cut...
[ shx @ 21.05.2009. 21:09 ] @
evo ovako sam ja to radio. u kratkim crtama

- text report koji mi je ispisan u nekoliko redaka prvo nasjeckam sa sed-om,
odnosno izbacim retke koji mi ne trebaju npr.
cat report | sed '13,$d' | sed '1,3d' | sed '2,3d' | sed '5,6d'

- nakon toga sa awk redak po redak uzimam kolone koje mi trebaju