Pergunta

Amazon "S3CMD LS" leva como esta saída:

2010-02-20 21:01 1458414588   s3://file1.tgz.00<br>
2010-02-20 21:10 1458414527   s3://file1.tgz.01<br>
2010-02-20 22:01 1458414588   s3://file2.tgz.00<br>
2010-02-20 23:10 1458414527   s3://file2.tgz.01<br>
2010-02-20 23:20 1458414588   s3://file2.tgz.02<br>
<br>

Como selecionar todos os arquivos de arquivo, terminando em 00 ... xx, com a data mais recente do arquivo de arquivo?

Data e hora não são classificadas.

Bash, regexp?

Thanx!

Foi útil?

Solução

DATE=$(s3cmd ls | sort -n | tail -n 1 | awk '{print $1}')
s3cmd ls | grep $DATE 

A classificação como um número Schould colocou as datas mais jovens por último. A cauda -N1 pega a última linha, o AWK corta a primeira palavra que é a data. Use isso para obter todas as entradas dessa data.

Mas talvez eu não tenha entendido a pergunta - então você precisa reformular. Você nos diz que 'data e hora não são classificadas' e fornecem um exemplo em que eles são classificados - você pede a data mais recente, mas todas as entradas têm a mesma data.

Outras dicas

s3cmd ls s3://bucket/path/ | sort -k1,2

Isso classificará por data ascendente.

Tentar

Esta sintaxe de comando é s3 ls s3: // caminho do balde/ arquivos | ordenar

s3cmd ls s3://file1.tgz.00<br>  | sort

Finalmente classificará na data descendente

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top