shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Listar Arquivos do Hadoop Modific ados após Determina


From: Julio C. Neves
Subject: Re: [shell-script] Listar Arquivos do Hadoop Modific ados após Determinada Data
Date: Wed, 9 Aug 2017 11:47:03 -0300

Heitor,
vamos explicar direitinho, senão o simples complica:

A saída do teu cmd é:
-rw-r--r--   2 root supergroup          5 2017-08-05 23:54 /a
-rw-r--r--   2 root supergroup          5 2017-08-05 23:54 /b
-rw-r--r--   2 root supergroup          5 2017-08-05 23:55 /d
drwxr-xr-x   - root supergroup          0 2017-08-05 23:55 /teste
-rw-r--r--   2 root supergroup          5 2017-08-05 23:55 /teste/e

A partir deste ponto estaremos no Shell, então respondendo:

1 - O que vc quis dizer com "A comparação com a hora só deferia trazer resultados caso houvessem arquivos em data anterior."?

Na sua linha de comandos vc pede data posterior (>) $6>"2017-08-04" e isso está funcionando, repare que os arquivo gerados ás 23:54 *não* foram listados e o cmd que vc postou:

awk '$6>"2017-08-04" && $7>"23:54" {print $6 " " $7 " " $8}'

está funcionando direitinho. A saída que vc quer não é isso?

2017-08-05 23:55 /d
2017-08-05 23:55 /teste
2017-08-05 23:55 /teste/e

2 - Vc disse: "Não consegui substituir a data e hora do exemplo por variáveis". A qual data e hora vc se refere? Será que o que vc deseja seria passar a data e hora como parâmetro?

3 - Acho que talvez seja necessário tirar os hífens da data e os dois pontos da hora para a comparação, mas não tenho certeza. É?
Não, não é. Eu não sei o que é pq não entendi o teu item 2, mas os hífens não fazem diferença na comparação.

Acho que se vc me ligar, podemos resolver mais rápido e depois vc posta na lista.



Em Agosto darei um treinamento de 40 horas no RJ e em BSB sobre 
Programação em Shell, com imersão em Expressões Regulares e dicas
de YAD. Para mais detalhes acesse goo.gl/JkWmBx
Em  Dezembro um curso com este mesmo conteúdo/carga horária será
lecionado em SP. Maiores detalhes neste site.

Abcs,
Julio

Damos treinamento em sua empresa por um preço, 
no mínimo, 50% mais barato que qualquer curso,
com certificado e nota fiscal.

​​
Nosso time de instrutores in company é formado somente por
autores
​ ​
de Best Sellers
​ ​
​laureados ​sobre os temas. P. exemplo:

Shell básico e Programação em Shell Julio Neves
Bacula Heitor Medrado
Zabbix Adail Host
Produção Gráfica e Videografismo Cadunico


Em 8 de agosto de 2017 19:45, address@hidden [shell-script] <address@hidden> escreveu:
 

Olá, Julio e demais colegas,


Obrigado pelo retorno. Do jeito que você sugeriu não consegui retorno.
Um colega deu a ideia de utilizar o awk. Tentei fazer da seguinte maneira:

========================================================================
/etc/hadoop/bin/hdfs dfs -ls -R / | awk '$6>"2017-08-04" && $7>"23:54" {print $6 " " $7 " " $8}'
========================================================================

Lembrando que o hdfs dfs -ls -R / resulta em:
========================================================================
[root@hadoop2 teste]# /etc/hadoop/bin/hdfs dfs -ls -R / 
-rw-r--r--   2 root supergroup          5 2017-08-05 23:54 /a
-rw-r--r--   2 root supergroup          5 2017-08-05 23:54 /b
-rw-r--r--   2 root supergroup          5 2017-08-05 23:55 /d
drwxr-xr-x   - root supergroup          0 2017-08-05 23:55 /teste
-rw-r--r--   2 root supergroup          5 2017-08-05 23:55 /teste/e
========================================================================

Estou com dois problemas no momento:

1. A comparação com a hora só deferia trazer resultados caso houvessem arquivos em data anterior.
2. Não consegui substituir a data e hora do exemplo por variáveis.
3. Acho que talvez seja necessário tirar os hífens da data e os dois pontos da hora para a comparação, mas não tenho certeza. É?

Abraços,



reply via email to

[Prev in Thread] Current Thread [Next in Thread]