分开逗号分隔列表,对差异进行排序和输出-KSH



我正在研究KSH中的问题,需要获取两个逗号分隔列表并进行比较,然后输出差异。

示例输入1:苹果,香蕉示例输入2:苹果,香蕉,猕猴桃

输出:猕猴桃

我假设我需要将列表放入数组中,并将列表1中的每个字符串与列表2进行比较。

for fruit in $fruits
do
if [[ fruit[1] == fruit1[1] ]]
then
echo "fruit is the same"
else
echo "fruit is not in the list. difference found."
echo $fruit
fi

有人知道我该怎么做吗?

谢谢

寻找两个列表的补充:

$ a="1,2,3,4,5"
$ b="2,3,4,5,6"
$ echo $a,$b | tr , "n" | sort | uniq -u
1
6

或相同,但是分开的列表(例如,如果您需要其他预处理):

$ sort  <(echo $a | tr , "n") <(echo $b | tr , "n") | uniq -u
1
6

一种可能的解决方案可能是:

localhost> cat file1

苹果,香蕉,猕猴桃,苹果

localhost> cat file2

苹果,香蕉,珠宝,土豆

EAISEST解决方案是:

cat file1 | tr , 'n' | sort> file3

cat file2 | tr , 'n' | sort> file4

comm -3 file3 file4

输出:

苹果

珠宝

奇异果

马铃薯

相关内容

  • 没有找到相关文章

最新更新