Pętla poprzez tablicę ciągów znaków ze spacjami
Usiłuję przejść przez tablicę, która zawiera inne tablice, a te tablice składają się z łańcuchów ze spacjami. Problem polega na tym, że nie mogę zachować odstępów w łańcuchu. Łańcuch ze spacjami jest podzielony na wiele elementów, jeśli zmienię IFS na n lub wszystkie elementy tablicy będą widziane jako 1 element, jeśli pozostawiam IFS bez zmian, oto przykładowy kod:
#!/bin/sh
low1=("AA QQ" "BB LL")
low2=("CC" "DD")
low3=("EE" "FF")
high=(low1 low2 low3)
for high_item in ${high[@]}
do
eval arrayz=\${$high_item[@]}
#IFS=Wydajność:
AA
QQ
BB
LL
CC
DD
EE
FF
Jak widać elementy „AA QQ” i „BB LL” zostały podzielone.
Jeśli odkomentuję linię, która się ustawiaIFS
do\n
Otrzymuję następujące informacje:
AA QQ BB LL
CC DD
EE FF
Teraz „AA QQ” i „BB LL” są połączone!
Czy mimo to mogę zachować te elementy tak, jak są oryginalne ... Potrzebuję danych wyjściowych, aby wyglądały tak:
AA QQ
BB LL
CC
DD
EE
FF
\n'
for item in $arrayz
do
echo $item
done
done
Wydajność:
AA QQ BB LL CC DD EE FF
Jak widać elementy „AA QQ” i „BB LL” zostały podzielone.
Jeśli odkomentuję linię, która się ustawiaIFS
do\n
Otrzymuję następujące informacje:
AA QQ BB LL CC DD EE FF
Teraz „AA QQ” i „BB LL” są połączone!
Czy mimo to mogę zachować te elementy tak, jak są oryginalne ... Potrzebuję danych wyjściowych, aby wyglądały tak:
AA QQ BB LL CC DD EE FF