如何使用 bash 脚本比较两个不同目录中的文件内容?

如何使用 bash 脚本比较两个不同目录中的文件内容?

我见过类似的问题,但通常的回答是使用

diff -br directory/sub1 directory/sub2

我并不是想比较两个文件夹的内容,而是想比较跨多个目录的类似文件的内容,而不必每次都复制文件。

以下是我想使用的内容:

function compare_files() {
        local num=$1
        diff readings.santitized.dat "/../ex"$num"/readings.sanitized.dat"
        diff pressure.delta.log "/../ex"$num"/pressure.delta.txt"
        diff error.log "/../ex"$num"/error.txt"
}

使用 num 变量是因为我有几个不同的示例文件夹,标签为 ex1、ex2、...,其中包含名称相同但内容不同的文件。

目前它返回没有这样的目录。我运行它时没有在路径两边加引号,但得到了同样的错误。

谢谢你的帮助。

编辑:找到可能的解决方案。已向命令添加绝对路径。

local PATH="/home/..."
diff readings.santitized.dat "$PATH/ex"$num"/readings.sanitized.dat"
...

编辑:请注意,Fanatique 的解决方案是正确的。使用绝对路径。不要将变量名全部大写。这就是我的 diff 命令无法注册的原因。

以下是最终有效的代码片段:

local path="/home/..."
(diff file.filetype $path/ex"$num"/file.filetype)
...

相关内容