如何比较bash中符号链接的mtime?

时间:2018-03-15 18:23:59

标签: bash symlink filemtime

在bash中,可以测试file1是否早于file2

  if [[ file1 -ot file2 ]]; then
    ...
  fi

如果file1file2(或两者)是符号链接,我希望文件通过符号链接本身的mtime进行比较,而不是它指向的文件(即我希望bash不遵循符号链接)。

是否可以不使用外部程序?无论如何,最好的方法是什么。

1 个答案:

答案 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