【问题标题】:hashdeep comparison for modified code in two different folders两个不同文件夹中修改代码的 hashdeep 比较
【发布时间】:2016-10-23 05:49:00
【问题描述】:

我正在尝试捕获两个不同文件夹的修改代码的文件路径信息(例如 z-1 、 z-2 文件夹(z-2 可以是 z-1 的修补版本))

所需的输入和输出:

这是使用描述处理的以下脚本 以下命令捕获所有文件的校验和值并保存在 result.txt 文件中

diff <(sort <(md5deep -r z-1)) <(sort <(md5deep -r z-2)) >> result.txt

用于分隔两个不同的文件夹文件,以便使用 diff 命令进行比较

cat result.txt | grep "z-1">> z-1.txt
cat result.txt | grep "z-2" >> z-2.txt

我的问题来了,我想区分两个 diff 文件 z-1.txt、z-2.txt 的校验和并捕获相应的文件名(来自 z-1 和 z-2)及其相对路径.

cat z-1.txt | awk '{print $2}' >> z1_checksum.txt
cat z-2.txt | awk '{print $2}' >> z2_checksum.txt

以上 2 只捕获校验和值我想捕获文件的完整路径以及校验和,以便仅在两个不同的文件夹中找到修改后的代码文件路径。

需要输出:diff 应该比较之前捕获的校验和值(不是文件->文件夹名称或任何路径名,因为在我的情况下,diff 甚至会比较我的文件的文件夹名称,如果它不同,它正在捕获已修改,但我的主要目标与文件内容有关)并在修改后显示文件的完整路径。

【问题讨论】:

  • 最后一步不是为我解决问题。例如,我在一个文件 test1.txt 和另一个文件 test2.txt 的列中有 4 个校验和值包含校验和 + 文件路径。我想比较 test1.txt校验和与test2.txt 校验和如果在test2.txt 文件中找到匹配项我希望从text2.txt 打印完整路径。

标签: linux shell


【解决方案1】:

试试这个

awk 'NR==FNR{a[i]=$1;next} ($1 in a) { print $2}' text1.txt text2.txt 

更多详情请参考here

【讨论】:

    猜你喜欢
    • 2012-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-12
    • 1970-01-01
    • 2016-03-20
    相关资源
    最近更新 更多