Como verificar o dia de hoje e os arquivos de pesquisa

1

Problema: preciso descobrir a data de hoje e pesquisar um arquivo que contenha a data de hoje no nome. Também outro arquivo que contém a data de ontem. Eu pude fazê-lo por algo como:

TODAY=$(date +"%m%d%Y")   
YESTERDAY=$(date --date="yesterday" +"%m%d%Y")
SNAPSHOT=SnapshotIR${YESTERDAY}\*.csv

for snapshotfile in $SNAPSHOT
do
        if [ -f "$snapshotfile" ]
        then
                SNAPSHOTFOUND="$snapshotfile"
          echo Snapshot Report $SNAPSHOTFOUND is available

Mas há uma condição aqui que, se hoje for segunda-feira, eu tenho que verificar um arquivo que tenha a data da última sexta-feira e outro que tenha a data do sábado em seus nomes, diferente de Hoje e Ontem.

Alguém pode sugerir.

    
por Swagatika 07.03.2013 / 10:43

1 resposta

2
find . -type f -name "*'date +%Y%m%d'*.*"

Localiza arquivos recursivamente, o tipo f encontra apenas arquivos e o nome localiza apenas arquivos que correspondem ao padrão. Usando backticks '' você pode adicionar a data em linha.

Com a data +% u, você recebe o número do dia da semana. Se é "1", então é segunda-feira.

Para verificar as datas da última sexta-feira e sábado, use --date

date --date="last Friday" +%Y%m%d
date --date="last Saturday" +%Y%m%d
    
por 07.03.2013 / 12:24

Tags