В следующей команде я хочу искать только каталоги, которые не скрыты, как я могу сделать это с помощью следующей команды. Я хочу игнорировать скрытые каталоги при поиске файла журнала
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"