亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

linux shell 怎樣比較兩個數組的內容,并且把不同的部分輸出

linux shell 怎樣比較兩個數組的內容,并且把不同的部分輸出

鳳凰求蠱 2019-04-11 06:06:39
嘗試的腳本,要找出folder_list 比file_list 多的元素,并且用一個數組保存起來#check if there are any files addedt=0for m in "${folder_list[@]}"dofor l in "${file_list[@]}"doif [ "$m" == "$l" ]; thenunset $folder_list[$m]fidonedone
查看完整描述

1 回答

?
絕地無雙

TA貢獻1946條經驗 獲得超4個贊

unset 不能這么用,需要指定數組索引,也就是數組下標,而不是數組的值,你可以這樣干:
#check if there are any files added
folder_list=(1 2 3 4 5)
file_list=(1 2)
declare -a result_list
t=0
flag=0
echo folder_list=${folder_list[*]}
echo file_list=${file_list[*]}
for m in "${folder_list[@]}"
do
for l in "${file_list[@]}"
do
if [ "$m" == "$l" ]; then
flag=1
break
fi
done
if [ $flag -eq 0 ]; then
result_list[t]=$m
t=$((t+1))
else
flag=0
fi
done
echo result_list=${result_list[*]}

弄個結果數組保存結果,把在file_list里找不到的folder_list值存到結果數組中。


查看完整回答
反對 回復 2019-04-12
  • 1 回答
  • 0 關注
  • 1853 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號