我有两个文件夹A& B. A是我的工作目录,B是我的备份文件夹。
如果A中有任何更改,我会比较两个文件夹中的文件和备份(从A到B)。
所以,我用过:
diffResult=( diff -q "${A/file-nmae}" "${B/file-name}" )
if [ -n "${diffResult}" ]; then
<code to copy>
else
<something else>
fi
唯一的问题是,在某些情况下,B中的文件最新是A.所以我不想在这种情况下备份。我该怎么做以及如何检查哪个文件更新?
答案 0 :(得分:4)
最简单的方法是使用if主要表达式-nt
,即
if [ "A/fileX" -nt "B/fileX" ]
then
mv A/fileX B/fileX
done
[FILE1 -nt FILE2]如果FILE1最近被更改,则为真 FILE2,或者如果FILE1存在而FILE2不存在。
答案 1 :(得分:0)
在b.txt
中查找不同的内容
fgrep -v -f a.txt b.txt
在a.txt
中查找不同的内容
fgrep -v -f b.txt a.txt
查找上次修改后的最后修改文件
ls -lrt
要查找更改和上次修改使用
fgrep -v -f a b && ls -lrt a b | tail -1