Neste post estou apresentando o esquema comentado de uma consulta encadeada que agiliza as análises de grandes quantidade de dados.
with alias_1 as (
select colunas,
(row_number() over(partition by coluna orderby coluna)) as id -- Exemplo de "Window Function"from tabela
), -- a virgula indica que pode ter outras tabelas disponíveis
alias_2 as (
select coluna
from tabela
) -- sem a virgura indica que será feira uma consulta finalselect a1.coluna, a2.coluna
from alias_1 a1, alias_2 a2
where a1.coluna = a2.coluna;
Remover arquivos com data de acesso igual ou superior a 30 dias; o parâmetro ctime é para criação e modificação e o tempo é múltiplo de 24hs ou seja +1 representa 2 dias atráz.
find /srv/www/users -type f -atime +30 -delete
Remover diretorios com zero bytes
find /srv/www/users -type d -empty -delete
Remover arquivos com tamanho menor que 1 Kbytes
find /srv/www/users -type f -size -1k -delete
Em 28/06/2024 encontrei outra dificuldade que foi a quantidade de erros por falta de permissão que os comandos find estavam retornando. Assim aprimorei os comando adicionando no final o redirecionamento da saída de erro para o null com a seguinte instrução 2>/dev/null
Quando você está precisando saber o retângulo envolvente de um shapefile pode utilizar o comando ogrinfo para saber esta informação pois o mesmo possui o atributo Extent que mostra exatamente o ponto inferior esquerdo e o superior direito conforme pode ser visto na figura abaixo.
Note que utilizei vários parâmetros para definir o índice do DataFrame como sendo a união dos campos data e hora que originalmente estão separados. Também fiz a escolha das colunas que me interessavam e defini o tipo do dado a ser manipulado.
Uma primeira forma de filtrar é utilizando o padrão normalmente utilizado em qualquer coluna, porém considerando o índice do DataFrame:
df[df.index.month == 6]
A segunda forma é mais indicada para a situação pois ela considera o índice temporal: