日期和权限比较

  • 本文关键字:比较 权限 日期 bash
  • 更新时间 :
  • 英文 :


我想在目录中获取ls的输出,然后将其存储在文本文件中。这是通过下面的代码完成的。

    ls -lt $search_path > date_verify.txt

在此之后,我想像下面这样获取此文本文件的一行,并将列出的日期与特定文件的实际日期进行比较。许可也是如此。我想知道如何能够确定文件中的日期并将该日期与文件本身的当前修改日期进行比较。如果它们匹配,它将返回 True,如果不匹配,它将返回 False。如何比较日期?

    -rwxr-xr-x    1 us000000 us000000        185 Jun 20 12:04 file1.txt

因为解析 ls 是个坏主意,所以你可以尝试这样的事情:

#!/bin/bash
for file in "$search_path"/* ; do
    seconds=$(stat -c %Y "$file")
    cmpdate=$(date -d @$seconds '+%Y-%m-%d')
    infiledate=$(something)
    if [ "$cmpdate" = "$infiledate" ] ; then
        echo "Hurray, dates match for $file"
    else
        echo "$file has a mismatch"
    fi
done

"+%Y-%m-%d"是格式字符串。您应该咨询man date以获取文件中确切格式的日期。$(something)应该替换为从文件中获取日期的方法,可能涉及headtailgrep和/或sed的内容。

最新更新