Расширение параметров оболочки на массивах

Скажем, я прочитал некоторые данные в массив Bash:

$ IFS=" " read -a arr <<< "hello/how are/you iam/fine/yeah"

Теперь я хочу напечатать первый/поле для каждого элемента в массиве.

Что я делаю, так это перебираю элементы и использую расширение параметров оболочки, чтобы удалить все с первого/:

$ for w in "${arr[@]}"; do echo "${w%%/*}"; done
hello
are
iam

Тем не менее, так какprintf позволяет нам распечатать все содержимое массива в одном выражении:

$ printf "%s\n" "${arr[@]}"
hello/how
are/you
iam/fine

... интересно, есть ли способ использовать расширение параметра оболочки${w%%/*} во время использованияprintfвместо того, чтобы перебирать все элементы и делать это против каждого.

Ответы на вопрос(1)

Ваш ответ на вопрос