Bash -nt 比较如何区分访问、修改、更改?

发布于 2024-11-30 05:56:51 字数 236 浏览 1 评论 0原文

在 Bash 中,-nt 测试比较修改时间

-nt 更新于(文件的修改日期-时间)

,如下所示

if [ file_a -nt file_b ]; then
fi

有没有办法比较访问时间或更改时间?

In Bash the -nt test compares Modify time

-nt newer than (modification date-time of file)

like here

if [ file_a -nt file_b ]; then
fi

Is there a way to compare Access time or Change time?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

悲喜皆因你 2024-12-07 05:56:51

您必须使用 stat 来访问 atime 和 ctime:

nt () {
    local OPTIND
    local fmt="%Y"
    while getopts "amc" opt; do
        case "$opt" in
            a) fmt="%X" ;;
            m) fmt="%Y" ;;
            c) fmt="%Z" ;;
        esac
    done
    shift $(( OPTIND - 1))
    [[ $(stat -c "$fmt" "$1") > $(stat -c "$fmt" "$2") ]]
}

if nt -c file_a file_b; then
    echo file_a has a newer ctime than file_b
fi

You'll have to use stat to access the atime and ctime:

nt () {
    local OPTIND
    local fmt="%Y"
    while getopts "amc" opt; do
        case "$opt" in
            a) fmt="%X" ;;
            m) fmt="%Y" ;;
            c) fmt="%Z" ;;
        esac
    done
    shift $(( OPTIND - 1))
    [[ $(stat -c "$fmt" "$1") > $(stat -c "$fmt" "$2") ]]
}

if nt -c file_a file_b; then
    echo file_a has a newer ctime than file_b
fi
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文