
msoliver
(usa Debian)
Enviado em 28/09/2023 - 19:58h
GriffoDeRuppell escreveu:
tambem conheço essa forma!
substitua o caminho do diretorio para o path completo a partir de onde quer "apagar"!
find /caminho/do/diretorio -type f -exec awk 'NF==1 {print "rm", $0}' {} \; | sh
Boa noite Olavo.
O seu comando faz o seguinte:
1 - Lista todos arquivos comuns de "/caminho/do/diretorio" e subdiretórios.
2 - Todos registros desses arquivos que tem "um campo", é executado o rm "conteúdo da linha" . . .
$0 é o registro.
FILENAME é o arquivo.
Para "pegar" o nº de linhas com o awk, faça:
awk 'END{print NR}' arquivo
Limitar a recursividade do find:
-maxdepth 1
find /home/adminq/ -maxdepth 1 -type f -iname "*txt" -exec awk 'END{if(NR<=1) system("rm " FILENAME)}' {} \;
#FICA_A_DICA
Att.: Marcelo Oliver