Shell Script para la fecha de ayer

13

Estoy intentando ejecutar el siguiente shellscript con la aplicación hazel en cualquier archivo de la carpeta. Funciona, pero lo único que está causando un problema es la fecha de ayer.

#! /bin/bash

saveDir="TJ"
dd=$(date --date='yesterday' +'%m-%d-%Y')
for file in *.csv ; do
    saveName="${saveDir}/TJ ${dd}.csv"
    cut -d',' -f2,14 "$file" > "$saveName"
done

¿Alguna idea de por qué no funciona?

    
pregunta Joe Bobby 02.01.2014 - 20:42

2 respuestas

24

Intenta usar una fecha como esta:

dd=$(date -v -1d '+%m-%d-%y')

como se mencionó yesterday es parte de la Fecha GNU, pero usar un desplazamiento de -1d debería ser equivalente para el uso de OS X.

    
respondido por el l'L'l 02.01.2014 - 21:02
3

La utilidad de fecha empaquetada con OS X no es la fecha de GNU (que acepta la opción --date ).

Puedes usar homebrew para instalarlo.

Probablemente puedas usar Perl para obtener lo que deseas:

perl -MPOSIX=strftime -le 'print strftime("%d-%m-%Y",localtime(time()-86400))'
# or
perl -MTime::Piece -MTime::Seconds -le 'print((Time::Piece->new - ONE_DAY)->dmy)'
    
respondido por el glenn jackman 02.01.2014 - 21:02

Lea otras preguntas en las etiquetas