# wir effektiv variablen deklarieren - laufzeitproblem



## pitti24 (22. Juli 2010)

hallo,

ich hab ein laufzeitproblem -- kann mir jemand helfen?

also ich habe eine datei mit angenommen 6000 zeilen. jede zeile hat ca. 4000 zeichen. ich lese dann die datei mittels shellscript zeile für zeile ein (read line)
und muss mir aus jeder zeile ca. 20 variablen (mittels: 
                                                                                     VAR1=echo $line | grep xxx | awk '{print $x}')
                                                                                     .....
                                                                                    VAR20=echo $line | grep xxx | awk '{print $x}')
deklarieren. dieses deklarieren dauert sehr, sehr lange (ca. 2-3 sec), bevor ich zu meiner if/elif schleife komme und die eigentliche verarbeitung und ausgabe beginnen kann.

hat jemand vielleicht eine idee wie ich das deklarieren der variablen eventuell in einem "schritt" vornehmen kann bzw. sich das variablen deklarieren beschleunigen lässt.

vielen dank!


----------



## deepthroat (22. Juli 2010)

Hi.

Bitte lies dir die Netiquette durch, insbesondere Punkt 15. Danke.

Ich nehme an, du verwendest Bash.

Deine Vorgehensweise ist natürlich etwas suboptimal.

1. du solltest möglichst wenig externe Programme aufrufen 

statt
	
	
	



```
echo $line | grep XXX | awk '{ ... }'
```
z.B.
	
	
	



```
echo $line | awk ' /XXX/ { ... }
```

2. Warum verarbeitest du die Zeile x-mal? Suche dir die Werte doch einfach mit einem Mal heraus:

```
echo $line | awk '/XXX/ { print $1 $5 $6 ... }'
```

3. verwende ein Array statt einzelne Variablen:

```
VARS=( $(echo $line | awk ' ... ' ) )
```
Ansonsten mußt du mal dein Problem näher erläutern und erzählen wozu das Ganze gut ist. Wozu du dort ein grep machst, was in der Schleife passieren soll etc.

Gruß


----------

