new*_*own 20 linux bash comparison timestamp
如何比较两个文件的时间戳?
我试过这个,但它不起作用:
file1time=`stat -c %Y fil1.txt`
file2time=`stat -c %Y file2.txt`
if[$file1time -gt $file2time];
then
doSomething
fi
Run Code Online (Sandbox Code Playgroud)
我按顺序打印了两个时间戳,它给了我
1273143480
1254144394
./script.sh: line 13: [1273143480: command not found
Run Code Online (Sandbox Code Playgroud)
所以基本上如果比较不起作用,我想。或者如果有任何其他比我正在做的更好的方式,请告诉我。我需要改变什么?
Jon*_*ler 35
用于比较时间戳的运算符是:
[ $file1 -nt $file2 ]
[ $file1 -ot $file2 ]
Run Code Online (Sandbox Code Playgroud)
助记符很简单:“比”和“比”。
这是因为缺少一些空格。[是一个命令,所以它周围必须有空格,并且]是一个特殊的参数来告诉它它的命令行在哪里结束。因此,您的测试线应如下所示:
if [ $file1time -gt $file2time ];
Run Code Online (Sandbox Code Playgroud)