Вы можете использовать vi для решения обеих проблем если они существуют:
vi <your_file>
:set ff=unix
:set nobomb
:wq
, если
принимает произвольную команду, поэтому вы можете просто использовать diff
без каких-либо кавычек или подстановки команд. Кроме того, мы могли бы использовать флаг -q
, чтобы запретить вывод.
if diff -q "$file1" "$file2" ; then
echo "files $file1 and $file2 contain identical data"
else
echo files differ (or an error happened)
fi
Используйте cmp
, когда фактическая разница между файлами не требуется:
if cmp -s "$file1" $file2"; then
printf '"%s" and "%s" are the same, moving...\n' "$file1" $file2"
mv "$file1" $file2" host.bk/
else
printf '"%s" and "%s" are different\n' "$file1" $file2"
fi