Mais três opções:
ls | grep ^data-...........tsv
ou:
ls | grep ^data-"[[:digit:]]\{4\}-[[:digit:]]\{2\}-[[:digit:]]\{2\}.tsv"
ou:
ls | grep ^data-[1-2][0-1][0-9][0-9]-[0-1][0-9]-[0-1][0-9].tsv
Temos arquivos por hora e diários na mesma pasta:
data-2015-06-06-00.tsv
data-2015-06-06-01.tsv
data-2015-06-06-02.tsv
data-2015-06-06-03.tsv
data-2015-06-06.tsv
data-2015-06-07-03.tsv
data-2015-06-07-02.tsv
data-2015-06-07.tsv
Como obter o único diário da lista de arquivos.
eu preciso apenas de dados-2015-06-06.tsv data-2015-06-07.tsv
hoje:
ls date-$(date +%Y-%m-%d)*
ontem:
ls date-$(date +%Y-%m-%d -d yesterday )*
onde
date +%Y-%m-%d
formatará a data -d yesterday
usa a data de ontem $( )
construct, executa o comando e usa a saída como uma string Eu suponho que você não pode retransmitir os arquivos nos últimos horários de modificação.
Editar:
para evitar a partir de hoje:
ls date-$(date +%Y-%m-%d).tsv
para obter apenas o uso diário da resposta do @ lcd047.
Tags shell-script