2012-03-28 10 views
6

En el siguiente comando quiero buscar únicamente sólo los directorios que están ocultos no ¿cómo puedo hacer esto utilizando el siguiente comando .Iwant ignorar directorios ocultos mientras se busca el archivo de registrode la búsqueda de comandos sólo directorios ocultos no

 find /home/tom/project/ -name '.log.txt' 


    ls /home/tom/project/ 
    dir1 
    dir2 
    .backup 
    .snapshot/ 
    .ignore/ 
+0

quiere decir directorios que no están ocultos y no tienen padres ocultos? –

Respuesta

1

Esto encontrará todos los archivos, pero ignorará los que comienzan con un punto, de modo que los archivos ocultos.

find /home/tom/project/ -type f \(-iname ".log.txt" ! -iname ".*" \) 

EDIT: Si el por encima de los no funciona, esto debe hacer el truco. Tiene una mejor expresión regular.

find /home/tom/project/ \(! -regex '.*/\..*' \) -type f -name ".log.txt" 

Edit2:

A continuación se excluirá las carpetas ocultas, pero buscará los archivos ocultos que tienen el patrón solicitado:

find /home/tom/project/ \(! -regex '.*/\..*/..*' \) -type f -name ".log.txt" 

Edit3:

La solución grep :) si esto no funciona, estoy perdido :)

find /home/tom/project/ \(! -regex '.*/\..*/..*' \) -exec grep -l ".log.txt" {} \; 

EDIT4:

¿Has probado las soluciones simples?

find /home/tom/project/ -type f -name ".log.txt" 

O

find /home/tom/project/ -type f -name "*" -exec grep -l ".log.txt" {} \; 
+0

Todavía apunta a directorios ocultos .. – Rajeev

+0

¿me puede dar un ejemplo de las carpetas que aún encuentra? –

+0

encontrar: Loop del sistema de archivos detectado; './.snapshot/hourly.0 'tiene el mismo número de dispositivo e inodo que un directorio que está 2 niveles más arriba en la jerarquía del sistema de archivos. encontrar: Loop del sistema de archivos detectado; './.snapshot/hourly.1 'tiene el mismo número de dispositivo e inodo que un directorio que está 2 niveles más arriba en la jerarquía del sistema de archivos. – Rajeev

4

Trate

find /home/tom/project -type d -name '.*' -prune -o -name .log.txt -print 
Cuestiones relacionadas