shell.sh
· 666 B · Bash
Raw
<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[@]}"
# опубликовано в https://t.me/gitgate
| 1 | <uniques>=($(echo "${<array>[@]}" | tr ' ' '\\n' | sort -u | tr '\\n' ' ')) |
| 2 | |
| 3 | Пример: |
| 4 | |
| 5 | --> ARRAY=("one" "one" "two" "two" "two" "one" "three") |
| 6 | --> UNIQUES=($(echo "${ARRAY[@]}" | tr ' ' '\\n' | sort -u | tr '\\n' ' ')) |
| 7 | --> echo $UNIQUES |
| 8 | one three two |
| 9 | |
| 10 | # улучшенный вариант от Ивана Гришина - @JohnMcGru - и правильнее, и короче |
| 11 | UNIQUES=( $(printf "%s\n" "${ARRAY[@]}" | sort -u ) ) |
| 12 | echo "${UNIQUES[@]}" |
| 13 | ###one three two |
| 14 | |
| 15 | # внутри скобочек VAR=(...) можно оставлять переводы строк |
| 16 | VAR=( it |
| 17 | is |
| 18 | OK |
| 19 | ) |
| 20 | echo "${VAR[@]}" |
| 21 | |
| 22 | # опубликовано в https://t.me/gitgate |