2 pici bash kerdes

Hi!

2 apro kerdesem lenne.

1) Van egy valtozo, ami igy nez ki:

adat1:adat2:adat3:adat4:adat5...

. Hogyan lehet megkapni a 3. kettospont utani reszt bash expansionnel? Ok,

cut -f 3- -d:

megcsinalja, de van erre "csak bashes" megoldas?

2) Legyen adott a fenti valtozo. Hogyan tudok rajta vegigmenni egy ciklussal? Marmint a kettospontok kozotti adatreszekkel. Probaltam az IFS- sel jatszani, de keves sikerrel. 100%, hogy van kismillio megoldas erre guglin, de nem sikerult egyet sem talalnom.

Koszi.

Hozzászólások

nem igazán értem, ez miért nem jó?

s=a:b:c
IFS=:
for i in $s; do echo $i; done

elsőre pedig ha fixek az adatmező hosszak: ${string:position:length}
vagy array-é alakítva valahogy talán szintén IFSel

1.
ADAT="adat1:adat2:adat3:adat4:adat5"
IFS=:
arr=($ADAT)
echo ${arr[3]}

szerk: ez csak a 3. és a 4. közöttit adja vissza, szóval mégsem megoldása a feladatnak...

1)

"${valtozo#*:*:*:}"

vagy

IFS=":" read nemkell_1 nemkell_2 nemkell_3 ez_kell <<< "$valtozo"


for x in ${adatok/:/ /}; do echo $x; done

--


()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.