apaga todos os arquivos em um diretório com múltiplas extensões

0

Eu tenho arquivos que se enquadram em duas categorias de extensão (.out e .error). Existe um único comando que pode excluí-los todos de uma vez?

Eu tentei rm -f *.out || *.error , mas não funcionou. Obrigado

(vi o post vinculado também, mas ainda não sei como lidar com várias extensões)

Editar: caso não recursivo

    
por information_interchange 16.08.2017 / 05:40

1 resposta

1

Não é necessário o || 1 , rm atuará em todos os operandos, portanto:

rm *.error *.out

Ou usando a expansão do suporte do bash (útil se você tiver uma lista longa):

rm *.{error,out}

1 Não só é || não é necessário, mas também muda a estrutura de comando. || é o OR de bash para comandos . Então, se você tivesse arquivos a.error , b.error e a.out , b,out , bash seria executado:

rm a.out b.out

E se esse falhar, execute a.error com b.error como argumento. Não passará a.error ou b.error para uma segunda execução de rm .

    
por muru 16.08.2017 / 07:01