array unique

linux bash Оставить в массиве только уникальные элементы

Пусть у вас есть массив myArray, тогда оставить в нём уникальные элементы можно так:

myArray=($(echo "${myArray[@]}" | tr ' ' '\n' | sort -u | tr '\n' ' '))

С распечаткой результата "до и после" можно так:

printf "%s\n" "${myArray[@]}"
echo '-------'
myArray=($(echo "${myArray[@]}" | tr ' ' '\n' | sort -u | tr '\n' ' '))
printf "%s\n" "${myArray[@]}"
Subscribe to RSS - array unique