[ feniks-sd @ 27.02.2009. 01:26 ] @
Na koji način iz stringa izdvojiti svaki dio između točaka i postaviti u jedan array() polje.
Pokušavao sam na razne načine, ali nije bilo rezultata, ili su se stvari toliko zakomplicirale da sam se sav "izgubio".

Code:

#!/bin/bash
# imam string ovoga oblika 

dec_string="0.23.154.175.105.82.2" 

[ uranium @ 27.02.2009. 09:51 ] @

dec_string="0.23.154.175.105.82.2"
niz=( ` echo "$dec_string" | tr '.' ' ' ` )

echo ${niz[0]}
0
echo ${niz[1]}
23
echo ${niz[5]}
82


[ feniks-sd @ 27.02.2009. 12:56 ] @
Bože mili, u jedno liniji koda. Koje sam ja kerefeke izvodio, preko 30 linija koda i opet nije radilo, ako sam npr promjenio broj znamenki nekog od brojeva. Vec sam mislio odustati od svega. Hvala na pomoći.
[ feniks-sd @ 03.03.2009. 19:41 ] @
Budući da je vezano za istu temu, pitat ću još jedan mali detalj.

U slučaju kada se radi o brojevima 0-15, oni se prikazuju kao 0, 1, 2 .... A, B, C, D, F.

Na koji način da ih tada zamjenim u 01, 02 03, .... 0A, 0B, 0C, 0D, 0F.
[ uranium @ 04.03.2009. 00:23 ] @
Nisam sasvim siguran da sam shvatio u kakvom stringu ( ili stringovima ) se vrši zamena ( i da li postoje neka ograničenja ), ali evo jedne ideje, pa ćeš možda moći da je prilagodiš ...


perl -n -e 's/([a-f\d])/0$1/ig; print;' ime_fajla_za_zamenu


ili


echo $'\n0.1.2.A.B.C.X.Y.Z\nDEAD_Beef\nCaFeBAbE\n' | perl -n -e 's/([a-f\d])/0$1/ig; print;'