Como obtenho a data de duas semanas atrás usando a data do Solaris?

2

O Linux usa:

date -d "2 weeks ago" +%b

que é equivalente no Solaris ?, eu procurei online, mas nada.

    
por ymk369 26.09.2015 / 03:42

2 respostas

2

O date do Solaris não pode fazer isso. AFAICT da página de manual , ela não pode exibir nem mesmo um data, então você não pode apenas obter a data em segundos desde a época, subtrair 2 semanas (14 * 86400 = 1209600 segundos) e, em seguida, dar isso para date +%b .

Se puder, instale a data do GNU. Em / usr / local / gnu / bin ou similar se você tiver raiz (BTW, o GNU Coreutils que contém a data GNU está disponível pré-empacotado para o Solaris aqui ), ou em ~ / bin se não.

Se você não pode instalar o GNU date, sua próxima melhor opção seria escrever um wrapper em torno de strftime() para fazer o cálculo mencionado acima, ou escrever um 5-liner em perl ou python, ambos com excelente manipulação de data libs.

    
por 26.09.2015 / 07:00
1

Basta fazer gdate em vez de date . Isto lhe dará a data do GNU, ao contrário do tradicional comando de data do Solaris. Isso funcionará a menos que você esteja em uma versão muito antiga do Solaris, ou seja, o Solaris 10 ou antes.

Observe que, se você estiver em uma zona local, seu sysadm pode ter decidido que gdate não deveria estar disponível, apesar de estar disponível por padrão na região global. Nesse caso, diga-lhe que ele é um ..... (use sua própria palavra aqui).

Para mais informações:

Instalação padrão do Solaris (ferramentas do usuário)

    
por 04.10.2015 / 18:27