Назад | Перейти на главную страницу

поиск файлов в Linux в не скрытом каталоге

В следующей команде я хочу искать только каталоги, которые не скрыты, как я могу сделать это с помощью следующей команды. Я хочу игнорировать скрытые каталоги при поиске файла журнала

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

Вывод:

    /home/tom/project/.log.txt
    /home/tom/project1/.log.txt

     find: Filesystem loop detected; ./.snapshot/hourly.0' has the same device number and inode as a directory which is 2 levels higher in the filesystem hierarchy. 
     find: Filesystem loop detected; ./.snapshot/hourly.1' has the same device number and inode as a directory which is 2 levels higher in the filesystem hierarchy.

Я хочу удалить все сообщения о поиске или не искать в скрытом каталоге

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

Если вы просто хотите игнорировать сообщения об ошибках, перенаправьте stdout в файл или / dev / null

find /home/tom/project/ -name '.log.txt' 2>/dev/null

Если вас могут заинтересовать другие сообщения об ошибках, но не те, которые вы упоминаете в своем вопросе, то выводите вывод через grep -v.

find /home/tom/project/ -name '.log.txt' | grep -v 'Filesystem loop detected'

Пытаться
find . -name '.log.txt' ! -wholename ".*.*/.log.txt"

Найдите все файлы с именем = .log.txt, но также убедитесь, что полный путь к файлу не содержит более одной точки в разделе папки. Первая точка - это текущий каталог.

Если вместо текущего каталога указан абсолютный путь, используйте следующую команду
find . -name '.log.txt' ! -wholename "*.*/.log.txt"