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