I have a log file ala.txt
looking like that:
dummy FromEndPoint = PW | dummy | ToEndPoint = LALA | dummy
dummy FromEndPoint = PW | dummy | ToEndPoint = PAPA | dummy
dummy FromEndPoint = WF | dummy | ToEndPoint = LALA | dummy
dummy FromEndPoint = WF | dummy | ToEndPoint = KAKA | dummy
I used sed
to generate an array containing every combination of FromEndPoint and ToEndPoint. Then I want to iterate through it.
function main {
file="./ala.txt"
local a=`sed 's/^.*FromEndPoint = \([a-zA-Z\-]*\).*ToEndPoint = \([a-zA-Z\-]*\).*$/\1;\2/' $file | sort -u`
echo ${#a[@]} # prints 1
for connectivity in ${a[@]}; do
echo "conn: $connectivity" # iterates 4 times
#conn: PW;LALA
#conn: PW;PAPA
#conn: WF;KAKA
#conn: WF;LALA
done
}
Why echo ${#a[@]}
prints 1 if there are 4 elements in the array? How can I get a real size of it?
Bash used: 4.4.12(1)-release