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.
- 1091 megtekintés
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
- A hozzászóláshoz be kell jelentkezni
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...
- A hozzászóláshoz be kell jelentkezni
1)
"${valtozo#*:*:*:}"
vagy
IFS=":" read nemkell_1 nemkell_2 nemkell_3 ez_kell <<< "$valtozo"
- A hozzászóláshoz be kell jelentkezni
for x in ${adatok/:/ /}; do echo $x; done
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
és ha egyéb elválasztó karakter van az adatban?
gondolom nem viccből lett a kettőspont választva
- A hozzászóláshoz be kell jelentkezni
Hat akkor marad a tombos-IFS -es megoldas, es a tombon iteralsz vegig.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni