尝试编写简单的 diff 脚本来比较 2 个文件,然后将它们转移到一个目录

尝试编写简单的 diff 脚本来比较 2 个文件,然后将它们转移到一个目录

这就是我所拥有的:尝试比较两个文件,如果相同的文件将它们移动到一个目录名host.bk

#!/bin/sh

if 'diff $file1 $file2 >/dev/null' ; then

mv $file1 $file2 host.bk

else
  echo Different
fi

答案1

if接受任意命令,因此您可以直接使用而diff无需任何引用或命令替换。另外,我们可以使用该-q标志来抑制输出。

if diff -q "$file1" "$file2" ; then
    echo "files $file1 and $file2 contain identical data"
else
    echo files differ (or an error happened)
fi

答案2

cmp当不需要文件之间的实际差异时使用:

if cmp -s "$file1" $file2"; then
  printf '"%s" and "%s" are the same, moving...\n' "$file1" $file2"
  mv "$file1" $file2" host.bk/
else
  printf '"%s" and "%s" are different\n' "$file1" $file2"
fi

相关内容