Сравнение файлов с разными расширениями, но, возможно, с похожим содержимым

Если вы используете Nagios 4.x, убедитесь, что установить LiveStatus из источников, используя опцию, чтобы сделать его совместимым с NAGIOS 4.x -> https://mathias-kettner.de/checkmk_livestatus.html Кроме того, Nagios не может создать розетку во время запуска и сбоев. Я использую точно такую ​​же конфигурацию, и все еще блокируйте на следующем шаге: Сделать Throuk прочитать розетку. Если вы управляете этим, пожалуйста, сообщите подробности.

-2
26.08.2018, 00:10
2 ответа

Чтобы сравнить файлы и выбрать один для копирования, вам нужно будет сравнить их содержимое . Это может оказаться трудным для проприетарного формата файла, такого как .doc (в отличие от .docx ).

Вы можете сначала преобразовать файлы .doc в текст с помощью libreoffice в автономном режиме:
libreoffice --headless --convert-to txt: text mydocument.doc

​​На этапе секунд можно было бы сравнить файлы, хотя я сомневаюсь, что преобразованный .doc будет иметь точно такое же содержание, что и версия .txt , поэтому сложно (если не невозможно) сравнить их программно.

2
28.01.2020, 05:16

Важным отличием будет арка:

jre/lib/i386/libawt_xawt.so
.../lib/x86_64...libXi.so.6

Что предполагает, что следует установить 32-разрядный аромат libXi.so.6 .

-121--243277-

Необходимо исправить нужный файл.

Как вы его называете, он попытается исправить новый файл и, таким образом, правильно примет обратное исправление.

Попробуйте скопировать старую версию файла в текущий каталог, и патч будет применен.

Что касается теста -p0 : есть ли у вас разрешение на изменение/usr/bin/gradle? У вас есть разрешение на создание файлов в/usr/bin?

Также обратите внимание, что существуют отклоняющиеся правила для исправления имени файла.

Правила, используемые gpatch , отличаются как от исходного патча, так и от стандарта патча POSIX.

Обратите внимание, что сообщение «not a regular file» специфично для gpatch . Перечислите файл /usr/bin/gradle . Сообщение печатается только тогда, когда файл не является обычным файлом, поэтому что-то выглядит странно.

Таким образом, решение состоит в том, что

patch исправляет только обычные файлы, но файл, который вы хотите исправить, является символической ссылкой.

Если у вас есть копия обычного файла (старой версии) в вашем текущем каталоге, патч будет делать то, что вы ожидаете.

BTW: обычным правилом получения имени файла для исправления является поиск кратчайшего имени, так как обычно используется правило именования:

file.orig

и

file

-121--111304-

Если оба файла являются текстовыми, можно использовать команду diff .

FILE_ONE=/home/file_one.txt
FILE_TWO=/home/file_two.txt

if [ -n "$(diff $FILE_ONE $FILE_TWO)" ];then
    cp $FILE_ONE /new_place/
    cp $FILE_TWO /new_place/
else
    cp $FILE_ONE /new_place/
fi

Проверяется, возвращает ли diff что-либо, если это так, файлы отличаются и должны быть скопированы, в противном случае он просто копирует файл один.

0
28.01.2020, 05:16

Теги

Похожие вопросы