Se você estiver tentando remover itens seletivamente, use find
.
find . -name "a*" \! -type d -delete
Você pode verificar o que está excluindo executando:
find . -name "a*" \! -type d -print
Por exemplo, crie alguns diretórios e arquivos:
mkdir -p testDir/a/b
cd testDir
touch apple.txt banana.txt ant.tx a/antelope.txt a/bus.txt a/b/apostrophe.txt a/b/bug.txt
Para ver os arquivos e diretórios:
find . -name "*" -print
retorna:
.
./a
./a/antelope.txt
./a/b
./a/b/apostrophe.txt
./a/bus.txt
./ant.tx
./apple.txt
./banana.txt
Para verificar o que está sendo excluído:
find . -name "a*" \! -type d -print
retorna:
./a/antelope.txt
./a/b/apostrophe.txt
./ant.tx
./apple.txt
Para excluir os arquivos:
find . -name "a*" \! -type d -delete
Para verificar se apenas arquivos * foram excluídos:
find . -name "*" -print
retorna:
.
./a
./a/b
./a/bus.txt
./banana.txt