Параллельный обход двух списков в / bin / sh

Это должно быть довольно shell чистое решение, но если вы shell-script не используете подстановку shellscript процесса bash, оно требует использования shell-command временных файлов. Я не знаю, лучше shell-script это или хуже, чем вызывать shell-trap cut и sed на каждой итерации.

#!/bin/sh

list1="1 2 3"
list2="a b c"
echo $list1 | sed 's/ /\n/g' > /tmp/a.$$
echo $list2 | sed 's/ /\n/g' > /tmp/b.$$

paste /tmp/a.$$ /tmp/b.$$ | while read item1 item2; do
    echo $item1 - $item2
done

rm /tmp/a.$$
rm /tmp/b.$$

shell

sh

2022-05-15T16:10:58+00:00
Вопросы с похожей тематикой, как у вопроса:

Параллельный обход двух списков в / bin / sh