Как в
bash удалить повторы из массива<uniques>=($(echo "${<array>[@]}" | tr ' ' '\\n' | sort -u | tr '\\n' ' '))Пример:
--> ARRAY=("one" "one" "two" "two" "two" "one" "three")
--> UNIQUES=($(echo "${ARRAY[@]}" | tr ' ' '\\n' | sort -u | tr '\\n' ' '))
--> echo $UNIQUES
one three twoулучшенный вариант от Ивана Гришина - @JohnMcGru
UNIQUES=( $(printf "%s\n" "${ARRAY[@]}" | sort -u ) )
echo "${UNIQUES[@]}"
###one three twoи правильнее, и короче
внутри скобочек
VAR=(...) можно оставлять переводы строкVAR=( it
is
OK
)
echo "${VAR[@]}"
опубликовано в @gitgate
#tips #bash