Como excluir o nome da pasta, independentemente do caminho no bash? [duplicado]

0

Estou tentando excluir pastas de arquivos pesquisados. Na verdade, funciona relativamente bem.

Meu código é assim: find . -type d -regextype posix-extended -regex "(./Scripts/testfolder)" -prune -o -type f -print

Meu problema é, no entanto, que eu gostaria de excluir todas as ocorrências do nome da pasta, independentemente do caminho. Basicamente, eu quero remover a parte ./ Scripts / e simplesmente ignorar a pasta testfolder, onde quer que seja. Pode ser feito melhorando a expressão regular?

Quando eu executo: find . -type d -regextype posix-extended -regex "(testfolder)" -prune -o -type f -print , a pasta é digitada e os arquivos são buscados.

    
por user220485 12.03.2017 / 17:12

1 resposta

1

Você precisa perceber que a opção -name em find realmente se refere ao basename do objeto pertinente a ser referido. Assim, podemos procurar o diretório pelo nome e, em seguida, podá-lo:

find . -type d -name 'testfolder' -prune -o -type f -print
    
por 12.03.2017 / 17:28