如何在 UNIX-aix 中获取日期并将 ecah 部分存储在变量中

如何在 UNIX-aix 中获取日期并将 ecah 部分存储在变量中

我编写了批处理文件,我想比较两个文件夹的修改时间(timstap)并复制最新的一个。我不知道这个选项是否可用目录,因为我不知道。所以我想获取日期并将每个部分存储在variale中以进行比较

例子 :-

获取日期date11 5 2011 11:10:57

天=11

月=5

年份=2011

小时=11

最小值=10

秒=57

答案1

Bash 提供了-nt比较运算符,如果一个文件比另一个文件新,则返回 true。以下脚本说明了此功能

#!/bin/bash

if [[ "$1" -nt "$2" ]]
then
    echo "$1 is newer than $2 - copying $1"
    #do something
else
    if [[ "$2" -nt "$1" ]]
        then
            echo "$2 is newer than $1 - copying $2"
            #do something
        else
            echo "$1 and $2 are the same time"
            #do nothing
        fi
fi

答案2

也许“find”的选项-newer可以做到这一点。

查找 . -较新的目录 -exec cp {} /new/location \;

PD 我不会说英语

答案3

要将日期时间组件设置为 shell 变量:

eval $(date "+day=%d month=%m year=%Y hour=%H min=%M secnd=%S")

要比较日期,Iain 的回答是正确的做法。

相关内容