有时我需要检查两个文件是否相同。我试图制作一个 bash 脚本来实现这一点,但我无法理解它。
我在网上找到了下面的脚本,当我右键单击一个文件并从右键单击上下文菜单调用脚本时,我将它放在 Nautilus 脚本文件夹中,它会打印文件的校验和。我怎样才能改进它来获取第二个文件并判断它们是否相同?
#!/bin/bash
IFS=$'\n'
zenity --info --text "$(md5sum $1 | sed 's/ /\n/')"
有时我需要检查两个文件是否相同。我试图制作一个 bash 脚本来实现这一点,但我无法理解它。
我在网上找到了下面的脚本,当我右键单击一个文件并从右键单击上下文菜单调用脚本时,我将它放在 Nautilus 脚本文件夹中,它会打印文件的校验和。我怎样才能改进它来获取第二个文件并判断它们是否相同?
#!/bin/bash
IFS=$'\n'
zenity --info --text "$(md5sum $1 | sed 's/ /\n/')"
这个怎么样:
我从https://help.ubuntu.com/community/NautilusScriptsHowto了解到 Nautilus 将选定文件的列表放在 NAUTILUS_SCRIPT_SELECTED_FILE_PATHS 变量中。它们由换行符分隔。因此,我将 IFS 变量设置为“换行符”,以便“for”循环在行上迭代,而不是默认情况下以空格分隔的单词。对于每一行/文件,我对其运行 md5sum 并将结果附加到一个变量。最后,像您最初那样使用 zenity 输出变量。
这将简单地显示任何选定文件的 md5sum(它也适用于超过 2 个文件),因此您可以直观地确定它们是否相同。您显然可以根据需要修改此脚本: