Utilizando find para percorrer apenas os links simbólicos n vezes?

1

É possível usar find para pesquisar recursivamente um caminho, mas apenas percorrer um caminho que seja um link simbólico para uma profundidade especificada de n ?

-maxdepth , mas isso inclui diretórios regulares, enquanto eu quero apenas limitar a profundidade do link simbólico.

    
por Zhro 25.12.2017 / 21:27

1 resposta

0

Tente algo ao longo da linha:

$ find -L -maxdepth n -path "/my/path/pattern" -xtype l -print

Uma breve explicação:
- Isso deve imprimir apenas links simbólicos para a profundidade especificada, n, onde n é um inteiro positivo.
- Opções devem preceder argumentos. Isso significa que a ordem na qual o cmd acima está escrito é importante. De qualquer forma, bash vai reclamar do contrário.
- -print é o padrão, então você pode omiti-lo neste caso.

De acordo com a página man no bash v4.4.12, a mágica acontece devido a:

-xtype c
The same as -type unless the file is a symbolic link. For symbolic links: if the -H or -P option was specified, true if the file is a link to a file of type c; if the -L option has been given, true if c is 'l'. In other words, for symbolic links, -xtype checks the type of the file that -type does not check.

Isso funciona para mim.

    
por 26.12.2017 / 12:28

Tags