Potrzebujesz pomocy z C, C++, perl, python, itp.
m_kordi
Posty: 12 Rejestracja: 01 września 2012, 22:41
Post
autor: m_kordi » 01 września 2012, 22:49
Witam!
Mam kilka plików z danymi znajdującymi się w 1 kolumnie:lili_data.txt, lina_data.txt, lik_data.txt. Chciałbym te dane wpisać do tablicy, ale tak by utworzyć 3 niezależne tablice z wartościami.
Próbowałam to zrobić w następujący sposób:
Kod: Zaznacz cały
for x in li
do
for y in li na k
do
zmienna=()
k=0
for i in `cat '$x$y'_data.txt`
do
'$x$y'_zmienna[k]=$i
k=$((k+1))
done
done
done
Niestety to nie działa. Czy macie jakiś pomysł, jak wybrnąć z tej sytuacji?
Rafal_F
Moderator
Posty: 2350 Rejestracja: 29 sierpnia 2008, 16:45
Post
autor: Rafal_F » 02 września 2012, 12:44
Skoro pliki są tylko 3, to napisz te 3 pętle osobno zamiast jednej, bo zajmie to o wiele mniej czasu niż głowienie się jak to zrobić w taki sposób.
m_kordi
Posty: 12 Rejestracja: 01 września 2012, 22:41
Post
autor: m_kordi » 02 września 2012, 13:00
Właśnie plików mam dużo więcej. Podałam tylko przykładowy problem. Udało mi się to napisać jako skrypt:
Kod: Zaznacz cały
for y in lili lina lik
do
zmienna=()
k=1
for i in `cat "${x}${y}"_data.txt`
do
name="${x}${y}"_dim
eval "name[$k]=$i"
echo -n " $name[$k] = "
eval echo \${name[k]}
k=$((k+1))
done
Teraz próbuję odwołać się do poszczególn
y ch tablic poza pętlą:
i wyskakuje i błąd:
Natomiast jeśli napiszę:
nic mi nie wyświetla.
Czy macie jakiś pomysł co z tym zrobić?
olx
Post
autor: olx » 02 września 2012, 18:16
A po co Ci pętla, do wczytania tych danych? Nie prościej:
Kod: Zaznacz cały
#!/bin/bash
tablica1=(`awk ' { print $1 } ' dane1.txt`)
tablica2=(`awk ' { print $1 } ' dane2.txt`)
tablica3=(`awk ' { print $1 } ' dane3.txt`)
?
kodama
Junior Member
Posty: 633 Rejestracja: 23 maja 2010, 22:30
Lokalizacja: Poznań
Post
autor: kodama » 02 września 2012, 18:50