【问题标题】:Bash script to compare two text files用于比较两个文本文件的 Bash 脚本
【发布时间】:2016-01-04 07:19:32
【问题描述】:

我正在尝试编写一个条件来比较两个文本文件(我认为简单的“if [file1 == file2]”不起作用),我需要打开这些文件,然后比较它们。 谁能帮帮我?

【问题讨论】:

    标签: bash file


    【解决方案1】:

    为什么不能使用内置的diff 命令之类的

    diff file1.txt file2.txt
    

    【讨论】:

    • diff 绝不是“内置”。 cmp 在这里可能更合适(但通常可以互换用于自动使用)。
    • @EtanReisner,我的主要意思是已经存在的东西,但我知道它是内置的,通过查看手册页man7.org/linux/man-pages/man1/diff.1.html
    • 那个手册页实际上说它不是在任何意义上的内置。但听起来你的意思是“这项工作的现有工具”是正确的。
    【解决方案2】:

    我会使用文件的 md5sum 之类的东西,并认为 md5sum 相等的文件是相等的。但请了解哈希函数的工作原理,例如见Wikipedia article an cryptographic hash functions
    试试这样:

    S1=$(md5sum test1.txt | cut -d \  -f 1)
    S2=$(md5sum test2.txt | cut -d \  -f 1)
    echo $S1
    echo $S2
    if [ "$S1" = "$S2" ]; then 
        echo "same" ; 
    fi
    

    【讨论】:

    猜你喜欢
    • 2011-05-09
    • 2022-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-25
    相关资源
    最近更新 更多