como posso obter a data no UNIX-aix e armazenar a parte ecah na variável

1

Eu escrevo arquivo em lote e quero comparar o tempo de modificação (timstap) para duas pastas e copiar o mais recente. Eu não sei se esta opção disponível diretório ser porque eu não sei. Então eu quero obter a data e armazenar cada parte no variale para compará-lo

Exemplo: -

obter data date 11 5 2011 11:10:57

dia = 11

mês = 5

ano = 2011

hora = 11

min = 10

secnd = 57

    
por Mohammad AL-Rawabdeh 11.05.2011 / 10:11

3 respostas

5

Bash fornece o operador de comparação -nt que retorna verdadeiro se um arquivo for mais novo que outro arquivo. Aqui está um script que ilustra essa funcionalidade

#!/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
    
por 11.05.2011 / 10:43
1

Talvez a opção "mais" de "encontrar" possa fazê-lo.

encontre. -novo diretório -exec cp {} / new / location \;

P.D. Eu não falo inglês

    
por 11.05.2011 / 16:08
0

Para definir componentes de data e hora para variáveis do shell:

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

Para comparar datas, A resposta de Iain é o caminho a percorrer.

    
por 11.05.2011 / 15:10