Сравнение выводов команд в виде списков или массивов
Форум — General
Здравствуйте. Я только изучаю bash, так что войдите в положение :) Хочу выделить уникальные для переменной 1 (именно переменной, а не файла) составляющие. Дано: var1 и var2, каждая из которых приравнивается к пайпу, результатом которого являются несколько строк, состоящих из 1 слова без пробелов. Что я пробую:
var1=$(... | ... | sort)
var2=$( ...| ... | sort)
comm -3 $var1 $var2
for i in $var1
do
if ! [[ "$i" -eq "$var2" ]]
then
echo $i
fi
done
for i in $var1
do
if [[ "$i" -ne "$var2" ]]
then
echo $i
fi
done
var1=($(... | ... | sort | tr "\n" " "))
var2=($( ...| ... | sort | tr "\n" " "))
for i in ${var1[*]}
do
if [[ "$i" ~= "${var2[*]}" ]]
then
echo $i
fi
done
Comm вроде только файлы выводит, но я попробовал на всякий случай. Все остальные варианты выводят все элементы, вместо уникальных... Подскажите, как правильно сделать.