para excluir todos os arquivos cujo nome tem nome --- você pode usar
find -name . 'name*' -exec rm {} \;
Eu preciso encontrar todos os arquivos que começam com o nome NAME
em uma árvore de diretórios e remover todos esses arquivos usando um comando shell.
Exclua todos os arquivos no diretório atual e seus subdiretórios em que o nome do arquivo começa com "foo":
$ find . -type f -name foo\* -exec rm {} \;
NB: use com cautela - faça o backup primeiro - também faça um teste primeiro, por exemplo
$ find . -type f -name foo\*
apenas informará os nomes dos arquivos que seriam excluídos.
Eu tentei desta forma está trabalhando para mim tente abaixo do comando.
rm -rf Example*
aqui "Exemplo" é um texto comum a todos os arquivos.
Você pode usar find
:
find . -name "name*" -exec rm {} \;
Com a globstar
opção (ative com shopt -s globstar
):
rm -f **/NAME*
**/
expande para ./
, */
, */*/
, */*/*/
etc. Se você tiver um nome diretório começando com NAME
, o comando reclamará que rm
não pode remover diretórios, mas isso é tudo.
Observe que isso pode ocorrer em limitações de tamanho de linha de comando se o glob corresponder a muitos arquivos.
find . -name 'foo'* -type f -delete
parece a resposta mais simples.
Você pode executar isso sem o sinalizador -delete
antes para ver quais arquivos serão excluídos.
Procure o número "Inode" do arquivo / pasta e exclua usando o número do inode. Abaixo está um exemplo:
ls -il
3407873 drwxr-xr-x. 2 root root 4096 Mar 30 07:49 –p
find . -inum 3407873 -exec rm -rf {} \;