не уверены, что язык, что оболочка в вашем вопросе, но вот версия Korn что вы могли бы быть в состоянии использовать ...
#!/bin/ksh
LIST_A="a b c d e"
LIST_B="d f g"
got_match="0"
for item_A in $LIST_A
do
#echo $item_A
for item_B in $LIST_B
do
#echo $item_A " " $item_B
if [ "$item_A" == "$item_B" ]
then
echo "matched " $item_A
got_match="1"
break 2;
fi
done
done
if [ "$got_match" == "0" ]
then
echo "no match"
fi
«обкатки 2» выходит из обеих петель (предполагая, что это то, что вы хотите)
»... чтобы сделать более удобным для чтения .. . ", возможно, стиль t повесят, но мои предложения являются:
- использовать осмысленные имена, а не I и J
- остерегайтесь несколько операторов в одной строке (не использовать;)
- отступа правильно
- комментарий, указывающий на намерение, если это не очевидно
Другое предложение: предоставить рабочую версию/фрагмент кода в будущих вопросах, чтобы другие могли протестировать и указать, на каком языке это.
Вы только находите пересечение между двумя наборами? Для этого есть намного лучшие решения: http://www.catonmat.net/download/setops.txt – Marcin