小编hme*_*ia1的帖子

Bash 中缺少两个数组的元素

我有两个数组,我如何获得只出现在第二个数组中而在第一个数组中不可用的元素列表?

数组1=(“A”“B”“C”“D”) 数组2=(“B”“E”“G”)

我需要输出,Array3=("E" "G")因为 Array1 中不存在 E 和 G。我使用了@ephemient @SiegeX 答案,但这并没有返回我需要的东西。

function arraydiff() {
   awk 'BEGIN{RS=ORS=" "}
        {NR==FNR?a[$0]++:a[$0]--}
        END{for(k in a)if(a[k])print k}' <(echo -n "${!1}") <(echo -n "${!2}")
}
Array1=( "A" "B" "C" "D" )
Array2=( "B" "E" "G" )
Array3=($(arraydiff Array1[@] Array2[@]))
Run Code Online (Sandbox Code Playgroud)

arrays bash shell

0
推荐指数
2
解决办法
73
查看次数

标签 统计

arrays ×1

bash ×1

shell ×1