Иногда мне нужно проверить, совпадают ли два файла. Я пытался сделать сценарий bash, чтобы добиться этого, но я не могу обойти его.
Я нашел ниже скрипт в сети, я поместил его в папку скриптов Nautilus, когда я щелкаю правой кнопкой мыши по файлу и вызываю скрипт из контекстного меню, щелкающего правой кнопкой мыши, он печатает контрольную сумму файла. Как я могу улучшить его, чтобы взять второй файл и сказать, идентичны ли они?
#!/bin/bash
IFS=\n'
zenity --info --text "$(md5sum $1 | sed 's/ /\n/')"
Как насчет этого:
#!/bin/bash
IFS= я учился от https://help.ubuntu.com/community/NautilusScriptsHowto, что Nautilus помещает список выбранных файлов в этом переменная NAUTILUS_SCRIPT_SELECTED_FILE_PATHS. Они разделяются новыми строками. Таким образом, я установил переменную IFS на "новую строку", таким образом, "для" цикла выполняет итерации на строках, не разграниченных пробелом словах, как значение по умолчанию. Для каждой строки/файла я выполняю md5sum на нем и добавляю результат к переменной. Наконец переменная производится с помощью zenity, как Вы первоначально сделали.
Это просто покажет md5sum для любых выбранных файлов (он работает больше чем на 2 файла также), таким образом, можно визуально определить, являются ли они тем же. Можно, очевидно, изменить этот сценарий к потребностям:
- , Возможно, просто выход, если больше чем 2 файла были выбраны
- , Делает md5 сравнение в сценарии и просто производит "идентичный / отличающийся" на основе результата.
\n'
for file in $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS; do
result="${result}"$(md5sum "${file}")"\n"
done
zenity --info --text="${result}"
я учился от https://help.ubuntu.com/community/NautilusScriptsHowto, что Nautilus помещает список выбранных файлов в этом переменная NAUTILUS_SCRIPT_SELECTED_FILE_PATHS. Они разделяются новыми строками. Таким образом, я установил переменную IFS на "новую строку", таким образом, "для" цикла выполняет итерации на строках, не разграниченных пробелом словах, как значение по умолчанию. Для каждой строки/файла я выполняю md5sum на нем и добавляю результат к переменной. Наконец переменная производится с помощью zenity, как Вы первоначально сделали.
Это просто покажет md5sum для любых выбранных файлов (он работает больше чем на 2 файла также), таким образом, можно визуально определить, являются ли они тем же. Можно, очевидно, изменить этот сценарий к потребностям: