Я предоставлю вам несколько методов сравнения двух файлов с помощью сценария оболочки, а также примеры кода. Вот пять различных подходов, которые вы можете использовать:
Метод 1: использование команды cmp
#!/bin/bash
file1="file1.txt"
file2="file2.txt"
if cmp -s "$file1" "$file2"; then
echo "Files are identical."
else
echo "Files are different."
fi
Метод 2: использование команды diff
#!/bin/bash
file1="file1.txt"
file2="file2.txt"
if diff "$file1" "$file2" >/dev/null; then
echo "Files are identical."
else
echo "Files are different."
fi
Метод 3: сравнение построчно
#!/bin/bash
file1="file1.txt"
file2="file2.txt"
diff_output=$(diff "$file1" "$file2")
if [ -z "$diff_output" ]; then
echo "Files are identical."
else
echo "Files are different."
fi
Метод 4: использование команды md5sum
#!/bin/bash
file1="file1.txt"
file2="file2.txt"
md5sum1=$(md5sum "$file1" | awk '{print $1}')
md5sum2=$(md5sum "$file2" | awk '{print $1}')
if [ "$md5sum1" = "$md5sum2" ]; then
echo "Files are identical."
else
echo "Files are different."
fi
Метод 5: использование команды cmpс собственным сообщением об ошибке
#!/bin/bash
file1="file1.txt"
file2="file2.txt"
if cmp -s "$file1" "$file2"; then
echo "Files are identical."
else
echo "Files are different. Files differ at byte $(cmp -l "$file1" "$file2" | awk '{print $1}')"
fi