rm comando e expressões regulares via shell Linux BASH

1

Estou tentando usar expressões regulares para remover o conjunto de arquivos, mas o shell bash retorna a mensagem

rm: cannot remove '[0-99]+ -': No such file or directory
rm: cannot remove '[a-zA-Z': No such file or directory
rm: cannot remove ']+.[a-z]+': No such file or directory

O comando é [0-99]+\ - [a-zA-Z ]+\.[a-z]+

Perguntas

  1. Posso usar expressões regulares?
  2. Se sim, como usá-los com comandos como rm , mkdir , etc
por PeanutsMonkey 09.09.2012 / 09:51

2 respostas

2

Bash (e os outros shells Unix) usam curingas , não expressões regulares completas, e intervalos não podem incluir um espaço.

    
por 09.09.2012 / 10:35
1

Use expressão regional em um comando find como o

find . -type f -regex regEXP

e use-o em conjunto com rm da seguinte maneira

find . -type f -regex regEXP -exec rm -rf {} \;

    
por 09.09.2012 / 09:57

Tags