我已经为此工作了几个小时,但我似乎无法弄清楚。我正在尝试比较两个字符串数组并使用第三个数组列出奇数。这就是我所拥有的:
#! /bin/bash
arr1=( "bww" "jrr" "icp" "bbw" )
arr2=( "bww" "icp" "bbw" )
arr3=("${arr1[@]}")
for j in ${arr2[*]}; do
for k in ${arr3[*]}; do
if [ "${arr2[$j]}" == "${arr3[$k]}" ]; then
arr4[$k]=1
else
arr4[$k]=0
fi
done
done
for i in ${arr3[*]};do
if [ ${arr4[$i]} -eq 1 ]; then
unset ${arr3[$i]}
fi
done
echo ${arr3[*]}
我觉得我通过嵌套第二个 for 循环以及使用第四个数组使其过于复杂。当我测试这段代码时,它只是打印出 arr1 的内容。
这是我希望的输出:
jrr
任何指针都会很好,我对 Bash 很陌生,我尝试过搜索其他问题,但我似乎找不到我需要的东西。谢谢。