我见过类似的问题,但通常的回答是使用
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)
...