[solved][bash]Wyciąganie ciągu z ciągu znaków, który zawiera separatory

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
Scofield1
Piegowaty Guziec
Piegowaty Guziec
Posty: 22
Rejestracja: 26 kwie 2009, 22:48
Płeć: Mężczyzna
Wersja Ubuntu: 9.10
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

[solved][bash]Wyciąganie ciągu z ciągu znaków, który zawiera separatory

Post autor: Scofield1 »

Witam
męczę się nad programem (i nie mogę go zrealizować), który wyciągnie określone ciągi znaków i przypisze je do tablicy z ogólnego stringa, który zawiera odpowiednie separatory. Np. mam stringa w tej postaci:

Kod: Zaznacz cały

string1|string2|string3|string4|string5
gdzie separatorem jest: "|" i chciałbym aby w tablicy np. nowa[] były określone ciągi, w tym przypadku:
nowa[0] == string1
nowa[1] == string2
nowa[2] == string3
nowa[3] == string4
nowa[4] == string5

jest to możliwe do wykonania? Jeśli tak to prosiłbym o mały przykładzik. Próbowałem coś z tego tematu wyciągnąć ale nic nie wychodzi - viewtopic.php?t=109509
Awatar użytkownika
beluosus
Zakręcona Traszka
Zakręcona Traszka
Posty: 695
Rejestracja: 01 paź 2006, 15:32
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Xfce
Architektura: x86
Kontakt:

Odp: [bash]Wyciąganie ciągu z ciągu znaków, który zawiera separatory

Post autor: beluosus »

Kod: Zaznacz cały

#!/bin/bash

s="string1|string2|string3|string4|string5"
j=0
IFS="|"
for i in $s
do
    tablica[j]=$i
    echo "tablica[$j] == ${tablica[$j]}"
    let j++
done
PS
Jeśli chcesz jednokrotnie odczytać n-ty element to nie trzeba dzielić na tablicę, wystarczy:

Kod: Zaznacz cały

echo $s | cut -f2 -d'|'
# lub:
echo $s | awk -F'|' '{print $2}'
Kurs Linuksa: for i in $(ls /bin); do man $i; done
__________________
http://beluosus.pl/
Scofield1
Piegowaty Guziec
Piegowaty Guziec
Posty: 22
Rejestracja: 26 kwie 2009, 22:48
Płeć: Mężczyzna
Wersja Ubuntu: 9.10
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Odp: [bash]Wyciąganie ciągu z ciągu znaków, który zawiera separatory

Post autor: Scofield1 »

Dzięki wielkie :-) właśnie dokładnie tego potrzebowałem.
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 8 gości