Duvida de filtro com condiçoes < ou > com nome de arquivos

1. Duvida de filtro com condiçoes < ou > com nome de arquivos

Ataide Momberg Domingues Junior
ataidedomingues

(usa Outra)

Enviado em 22/01/2020 - 10:44h

Bom Dia
Pessoal poderia me dar alguma ideia, estou com quebrando a cabeça com um script para apagar arquivos de um diretório, porem a lógica e um seguinte:
Tenho muitos arquivos em um diretório especifico com a nomenclatura " servidor_1_5628503_560612318 ", meu filtro com awk " ( awk '"'"'{print substr ($8,37,7)"') tenho o retorno 5628503 a intenção e apagar todos os arquivos que são menores que essa sequencia no diretório.
Algum sugestão de como seguir ?

Obrigado



  


2. Re: Duvida de filtro com condiçoes < ou > com nome de arquivos

Perfil removido
removido

(usa Nenhuma)

Enviado em 22/01/2020 - 12:31h

Uma idea é usar algo do tipo ' if ((x>=1 && x<=y))' no bash, sendo a variável 'x' o número de índex de um arquivo que se vai verificar se se remove ou não, de uma lista que você deve ter feito antes, e a variável 'y' o número de index do arquivo que você conseguiu com aquele awk (número máximo que define o limite das remoções).

Ou uma condição com awk, tipo:

y=5628503
echo 'servidor_1_1234567_560612318' | awk -F '_' "\$3 <= $y"

sendo a variável 'y' aquele número máximo que tu conseguiu com o awk..


3. Re: Duvida de filtro com condiçoes < ou > com nome de arquivos

Ataide Momberg Domingues Junior
ataidedomingues

(usa Outra)

Enviado em 22/01/2020 - 15:38h

Beleza, vou fazer um teste obrigado pelo retorno marimbondo2.

At.te


4. Re: Duvida de filtro com condiçoes < ou > com nome de arquivos

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 22/01/2020 - 18:28h


ataidedomingues escreveu:

Bom Dia
Pessoal poderia me dar alguma ideia, estou com quebrando a cabeça com um script para apagar arquivos de um diretório, porem a lógica e um seguinte:
Tenho muitos arquivos em um diretório especifico com a nomenclatura " servidor_1_5628503_560612318 ", meu filtro com awk " ( awk '"'"'{print substr ($8,37,7)"') tenho o retorno 5628503 a intenção e apagar todos os arquivos que são menores que essa sequencia no diretório.
Algum sugestão de como seguir ?

Obrigado

Boa tarde Ataide.
Segue sugestão, usando o "_" como separador, o campo em questão é o "$3", logo....
é só comparar, o que pode ser feito na própria linha do awk....
Acredito que é possível fazer até a remoção do arquivo na mesma linha, sem pipe....


______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________


5. Re: Duvida de filtro com condiçoes < ou > com nome de arquivos

Ataide Momberg Domingues Junior
ataidedomingues

(usa Outra)

Enviado em 23/01/2020 - 14:47h

marimbondo2 escreveu:

Uma idea é usar algo do tipo ' if ((x>=1 && x<=y))' no bash, sendo a variável 'x' o número de índex de um arquivo que se vai verificar se se remove ou não, de uma lista que você deve ter feito antes, e a variável 'y' o número de index do arquivo que você conseguiu com aquele awk (número máximo que define o limite das remoções).

Ou uma condição com awk, tipo:

y=5628503
echo 'servidor_1_1234567_560612318' | awk -F '_' "\$3 <= $y"

sendo a variável 'y' aquele número máximo que tu conseguiu com o awk..


Boa Tarde
marimbondo2 fechou deu certinho tua ideia.
Obrigado

Abraço


6. Re: Duvida de filtro com condiçoes < ou > com nome de arquivos

Ataide Momberg Domingues Junior
ataidedomingues

(usa Outra)

Enviado em 23/01/2020 - 14:49h

msoliver escreveu:


ataidedomingues escreveu:

Bom Dia
Pessoal poderia me dar alguma ideia, estou com quebrando a cabeça com um script para apagar arquivos de um diretório, porem a lógica e um seguinte:
Tenho muitos arquivos em um diretório especifico com a nomenclatura " servidor_1_5628503_560612318 ", meu filtro com awk " ( awk '"'"'{print substr ($8,37,7)"') tenho o retorno 5628503 a intenção e apagar todos os arquivos que são menores que essa sequencia no diretório.
Algum sugestão de como seguir ?

Obrigado

Boa tarde Ataide.
Segue sugestão, usando o "_" como separador, o campo em questão é o "$3", logo....
é só comparar, o que pode ser feito na própria linha do awk....
Acredito que é possível fazer até a remoção do arquivo na mesma linha, sem pipe....


______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________


Obrigado pela dica msoliver.
Abraço







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts