[+] Bash, pobieranie danych z pliku i umieszczanie w tablicy

Potrzebujesz pomocy z C, C++, perl, python, itp.
fabus
Posty: 11
Rejestracja: 02 grudnia 2010, 14:10

[+] Bash, pobieranie danych z pliku i umieszczanie w tablicy

Post autor: fabus »

Witam

Od kilku godzin poszukuje sposobu na umieszczenie danych z pliku tekstowego do tablicy. Struktura pliku to dwie kolumny elementy w wierszach oddzielone spacjami liczba wierszy zmienna. Jak wrzucić takie dane do tablicy dwuwymiarowej?

Pozdrawiam
mariaczi
Member
Posty: 1343
Rejestracja: 08 lutego 2008, 12:58
Lokalizacja: localhost@śląskie

Post autor: mariaczi »

Jeszcze jakbyś napisał w czym chcesz to mieć...
fabus
Posty: 11
Rejestracja: 02 grudnia 2010, 14:10

Post autor: fabus »

No tak, zapomniałem, chodzi o BASH-a.
mariaczi
Member
Posty: 1343
Rejestracja: 08 lutego 2008, 12:58
Lokalizacja: localhost@śląskie

Post autor: mariaczi »

Co już zrobiłeś i na czym się zatrzymałeś?
fabus
Posty: 11
Rejestracja: 02 grudnia 2010, 14:10

Post autor: fabus »

Mam plik tekstowy wyglądający tak:

Kod: Zaznacz cały

KOWALSKI    192.168.10.100
NOWAK        192.168.10.110
SWIDER       192.168.10.120
i chciałbym te elementy pobrać do tablicy np. z użyciem dwóch tablic jednowymiarowych

Kod: Zaznacz cały

T_NAME; T_ADDR
aby wyglądało to w ten sposób

Kod: Zaznacz cały

T_NAME[0]=KOWALSKI
T_NAME[1]=NOWAK
T_NAME[2]=SWIDER
T_ADDR[0]=192.168.10.100
T_ADDR[1]=192.168.10.110
T_ADDR[2]=192.168.10.120
Mam nadzieję, że teraz jest już jasność o co dokładnie mi chodzi. Na tym się właśnie zatrzymałem.
mariaczi
Member
Posty: 1343
Rejestracja: 08 lutego 2008, 12:58
Lokalizacja: localhost@śląskie

Post autor: mariaczi »

Zatem teraz google w rękę i poszukujesz fraz: bash skrypty, tr, cut, read file (czytanie pliku linia po linii), array (tablice). Jak już coś naskrobiesz to możesz wrócić i się "pochwalić" ewentualnymi błędami.
fabus
Posty: 11
Rejestracja: 02 grudnia 2010, 14:10

Post autor: fabus »

Napisałem coś takiego i wystarcza:

Kod: Zaznacz cały

#wpisanie każdego elementu do tablicy
let count=0
for WORD in `cat ip_list`
do
	tab[$count]=$WORD
	((count++))
done
Pozdrawiam
mariaczi
Member
Posty: 1343
Rejestracja: 08 lutego 2008, 12:58
Lokalizacja: localhost@śląskie

Post autor: mariaczi »

Napisałeś w założeniach o dwóch tablicach. Jeśli jednak wystarcza Ci jedna, to akceptujemy :)
fabus
Posty: 11
Rejestracja: 02 grudnia 2010, 14:10

Post autor: fabus »

Tzn. dalsza część skryptu rozbiją tą tablice na dwie.
ODPOWIEDZ