Я предполагаю, что ваши списки хранятся в другом месте; в противном случае решение будет читать из соответствующего здесь документа:
while read -r i j; do
echo "$i" "$j"
done <<EOF
4k 1m
1m 1m
1m 2m
EOF
Но скажем, у вас есть list1=( 4k 1m 1m)
и list2=(1m 2m 4m)
. bash
не обеспечивает особо чистый способ "сжать" два массива вместе. Лучшее, что вы можете сделать, это предположить, что оба списка имеют одинаковые индексы, и повторить их:
list1=(4k 1m 1m)
list2=(1m 2m 4m)
for k in "${!list1[@]}"; do
i=${list1[k]}
j=${list2[k]}
echo "$i" "$j"
done