LINUX.ORG.RU

Сообщения Novikov_A

 

Сравнение выводов команд в виде списков или массивов

Форум — 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 вроде только файлы выводит, но я попробовал на всякий случай. Все остальные варианты выводят все элементы, вместо уникальных... Подскажите, как правильно сделать.

 , ,

Novikov_A
()

RSS подписка на новые темы