Limpar subdiretórios comuns [RESOLVIDO]

1. Limpar subdiretórios comuns [RESOLVIDO]

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 01/10/2017 - 14:08h

Pessoas ... tenho 'n' diretórios e cada um deles tem um subdiretório "sent" em comum ... como fazer para limpa-los ???


  


2. MELHOR RESPOSTA

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 01/10/2017 - 16:35h

Mauriciodez escreveu:

Raphael_Henrique escreveu:

Tinha entendido errado... creio que esses comandos ajudarão:


find . -type d -iname "sent" > /tmp/logsent

while read line; do rm -r "$line"/*; done < /tmp/logsent


o primeiro encontra todos os diretórios "sent" e armazena seu caminha em um arquivo temporário;
o segundo lê o arquivo temporário e remove todo o conteúdo dos diretórios sent da lista

talvez haja uma forma melhor de fazer... mas essa foi a que eu consegui pensar agora, espero que ajude.


pode crer .. essa parada de fazer a lista eu já tinha feito e funciona de boa mais é aquele negócio ... em tempos de SSD quanto menos escrita em disco melhor !!!

Abçs

------------------------------------------| Linux User #621728 |-----------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------| Linux User #621728 |-----------------------------------------


Boa tarde Mauricio.
Se não quer criar um arquivo, crie uma "var".
Exemplo:

DIRETORIOS=$(find . -type d -iname "sent")

while read line; do
rm -r "$line"/*
done <<< "$DIRETORIOS"


Att.:
Marcelo Oliver

3. Re: Limpar subdiretórios comuns

Raphael Henrique
Raphael_Henrique

(usa XUbuntu)

Enviado em 01/10/2017 - 14:26h


find . -type d -iname "sent" -print0 | xargs -0 rm -r

Esse comando vai encontrar e remover todos os diretórios denominados "sent".

Obs.: o "." indica q ele fará a busca a partir do diretório atual


4. Re: Limpar subdiretórios comuns [RESOLVIDO]

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 01/10/2017 - 14:29h

Raphael_Henrique escreveu:


find . -type d -iname "sent" | xargs rm -r

Esse comando vai encontrar e remover todos os diretórios denominados "sent".

Obs.: o "." indica q ele fará a busca a partir do diretório atual


então velho ... eu não quero remover eles ... eu quero esvazia-los !!!



------------------------------------------| Linux User #621728 |-----------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------| Linux User #621728 |-----------------------------------------



5. Re: Limpar subdiretórios comuns

Raphael Henrique
Raphael_Henrique

(usa XUbuntu)

Enviado em 01/10/2017 - 15:30h

Tinha entendido errado... creio que esses comandos ajudarão:


find . -type d -iname "sent" > /tmp/logsent

while read line; do rm -r "$line"/*; done < /tmp/logsent


o primeiro encontra todos os diretórios "sent" e armazena seu caminho em um arquivo temporário;
o segundo lê o arquivo temporário e remove todo o conteúdo dos diretórios sent da lista

talvez haja uma forma melhor de fazer... mas essa foi a que eu consegui pensar agora, espero que ajude.


6. Re: Limpar subdiretórios comuns [RESOLVIDO]

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 01/10/2017 - 15:35h

Raphael_Henrique escreveu:

Tinha entendido errado... creio que esses comandos ajudarão:


find . -type d -iname "sent" > /tmp/logsent

while read line; do rm -r "$line"/*; done < /tmp/logsent


o primeiro encontra todos os diretórios "sent" e armazena seu caminha em um arquivo temporário;
o segundo lê o arquivo temporário e remove todo o conteúdo dos diretórios sent da lista

talvez haja uma forma melhor de fazer... mas essa foi a que eu consegui pensar agora, espero que ajude.


pode crer .. essa parada de fazer a lista eu já tinha feito e funciona de boa mais é aquele negócio ... em tempos de SSD quanto menos escrita em disco melhor !!!

Abçs

------------------------------------------| Linux User #621728 |-----------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------| Linux User #621728 |-----------------------------------------



7. Re: Limpar subdiretórios comuns [RESOLVIDO]

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 01/10/2017 - 16:49h

msoliver escreveu:
Boa tarde Mauricio.
Se não quer criar um arquivo, crie uma "var".
Exemplo:

DIRETORIOS=$(find . -type d -iname "sent")

while read line; do
rm -r "$line"/*
done <<< "$DIRETORIOS"


Att.:
Marcelo Oliver


100% ... valewwww !!!



------------------------------------------| Linux User #621728 |-----------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------| Linux User #621728 |-----------------------------------------







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts