Rohkem
Stringi jagamine massiiviks Bashis
Bash-skriptis tahaksin jagada rea tükkideks ja salvestada need massiivi.
Rida:
Paris, France, Europe
Ma tahaksin, et need oleksid massiivi kujul:
array[0] = Paris
array[1] = France
array[2] = Europe
Tahaksin kasutada lihtsat koodi, käsu'kiirusel ei ole tähtsust. Kuidas ma saan seda teha?
571
3
Siin on võimalus ilma IFS-i seadistamiseta:
Idee on kasutada stringi asendamist:
et asendada kõik $substringi vasted valge tühikuga ja seejärel kasutada asendatud stringi massiivi initsialiseerimiseks:
Märkus: see vastus kasutab split+glob operaatorit. Seega, et vältida mõnede märkide (näiteks
*
) laiendamist, on hea mõte selle skripti puhul globbing pausida.Mõnikord juhtus minuga, et vastuvõetud vastuses kirjeldatud meetod ei toiminud, eriti kui eraldaja on veoraha.
Nendel juhtudel lahendasin ma nii: