我有两个排序数组
list1=( a b c d)
list2=( a b d)
假设list1是一个常量列表,并且list2是在脚本执行期间创建的。我想将list2元素与list1进行比较,只丢弃list2中不在list1中的那些值。
示例:
如果list2=(a b d e f)
,那么我应该将list2更新为list2=(a b)
,因为list1中没有(d e f)
。
答案 0 :(得分:1)
list1=( a b c d)
list2=( a b d)
list2=($(echo ${list1[*]} ${list2[*]} | tr " " "\n" |sort | uniq -d))
echo ${list2[*]}
在这里,我将2个列表转换为字符串,用空格分隔,对值进行排序,然后查找重复项。然后将重复项重新分配到list2
数组