Учитывая два файла, я хочу записать сценарий оболочки, который читает каждую строку из file1 и проверяет, находится ли это там в file2. Если строка не найдена, она должна произвести два файла, отличаются и выходят. Файлы могут содержать числа слов или что-либо. Например:
file1:
Hi!
1234
5678
1111
hello
file2:
1111
5678
1234
Hi!
hello
В этом случае два файла должны быть равными. если file2 имеет "привет!!!" вместо "привет" затем файлы отличаются. Я использую сценарий удара. Как я могу сделать это. Не важно, чтобы я сделал это во вложенном цикле, но это - то, что я думал, единственный путь.Спасибо за помощь.
В ударе:
diff --brief <(sort file1) <(sort file2)
diff
устанавливает его статус выхода, чтобы указать, являются ли файлы тем же или нет. Статус выхода доступен в специальной переменной $?
. Можно подробно остановиться на ответе Ignacio этот путь:
diff --brief <(sort file1) <(sort file2) >/dev/null
comp_value=$?
if [ $comp_value -eq 1 ]
then
echo "do something because they're different"
else
echo "do something because they're identical"
fi