Encontre todos os diretórios que contenham um determinado caractere e imprima-os

2

Eu preciso encontrar todos os diretórios que contenham um certo caractere em seu nome e imprimi-los.

Então, se eu tiver os diretórios:

abc cde fgh

E eu pesquiso por "c" que devo receber:

abc 
cde
    
por Devid Demetz 11.06.2017 / 13:32

2 respostas

4

Os comandos a seguir executam a consulta necessária:

find -name "*c*" -type d
  • inicia com o diretório atual (não é necessário especificar o diretório no caso do diretório atual)
  • -name "*c*" - com nome contém a letra c
  • -type d - que são um diretório

Você pode executar o comando em outro diretório ( /full/path/to/dir ) usando:

find /full/path/to/dir -name "*c*" -type d

Mais informações nixCraft encontra o comando

    
por 11.06.2017 / 13:45
0

Se a globstar estiver ativada, você poderá usar este

for d in **/*c*/; do echo $d; done

O primeiro ** corresponderá a qualquer caminho de subdiretório arbitrário. Então *c*/ com pastas de correspondência com caractere c nele

Se não estiver ativado, você poderá ativá-lo com shopt -s globstar

    
por 11.06.2017 / 14:13

Tags