Bash - не сравнить с distingiush между Access, Modify, Change? - PullRequest
1 голос
/ 19 августа 2011

В Bash тест -nt сравнивает Изменить время

-не новее (дата и время изменения файла)

как здесь

if [ file_a -nt file_b ]; then
fi

Есть ли способ сравнить Доступ Время или Изменить Время?

1 Ответ

2 голосов
/ 19 августа 2011

Вам нужно будет использовать 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
...