在bash中,可以测试file1
是否早于file2
:
if [[ file1 -ot file2 ]]; then
...
fi
如果file1
或file2
(或两者)是符号链接,我希望文件通过符号链接本身的mtime进行比较,而不是它指向的文件(即我希望bash不遵循符号链接)。
是否可以不使用外部程序?无论如何,最好的方法是什么。
答案 0 :(得分:0)
#Compares modification dates on files (or links for that matter)
fname1=f1.txt
fname2=f2.txt
file1=$(date +%s -d "$(stat $fname1 | grep Modify | awk '{print $2" "$3}')")
file2=$(date +%s -d "$(stat $fname2 | grep Modify | awk '{print $2" "$3}')")
if [ $file1 -gt $file2 ];then
echo $fname1 is newer than $fname1
else
echo $fname1 is older than $fname2
fi