найти / | grep, чтобы найти файлы, содержащие git, но исключать цифровые [dубликаты]

У этого вопроса уже есть ответ здесь: Как я могу исключить каталог по имени, используя find? 3 ответа

Я использую find / | grep git для поиска репозиториев. Иногда он находит много файлов, которые содержат цифровые. Это довольно легко использовать find / | grep -vi digital | grep git, но я считаю, что есть шанс игнорировать /home/auser/.../digital/.../gitrepo. Я также хотел бы пропустить эти каталоги:

/home/john/C_DRIVE/* /proc/*

Есть ли способ выполнить поиск таким образом, что определенное совпадение удаляется и после этого поиска продолжается?

0
задан 23 May 2017 в 12:33

4 ответа

Поскольку в репозиториях git есть папка .git, найдите эти папки:

find / -type d -name .git
4
ответ дан 18 July 2018 в 12:52

Вы хотите два переключателя, -not и -path. Оператор -not позволит вам игнорировать путь, соответствующий шаблонам, представленным в -path, например:

find / -type d -name ".git" -not -path "/home/auser/*/digital/*" -prune
0
ответ дан 18 July 2018 в 12:52

Поскольку в репозиториях git есть папка .git, найдите эти папки:

find / -type d -name .git
4
ответ дан 24 July 2018 в 20:03
  • 1
    Спасибо за Ваш ответ. Это действительно помогло бы, но мне нужно общее решение. Мне нужен способ указать папку или папку, чтобы пропустить. – user1325696 23 May 2017 в 11:46
  • 2
    @ user1325696 почему? – muru 23 May 2017 в 11:46
  • 3
    git был примером. Мне часто нужно что-то найти. Когда я ищу, он находит много вещей, которые усложняют поиск того, что мне нужно. Я хотел бы настроить поиск, чтобы что-то игнорировать. – user1325696 23 May 2017 в 11:54
  • 4
    @ user1325696 Можете ли вы привести еще один пример? Существует много способов настроить find, но нам нужно понять, что именно вы пытаетесь сделать. – Sergiy Kolodyazhnyy 23 May 2017 в 11:55

Вы хотите два переключателя, -not и -path. Оператор -not позволит вам игнорировать путь, соответствующий шаблонам, представленным в -path, например:

find / -type d -name ".git" -not -path "/home/auser/*/digital/*" -prune
0
ответ дан 24 July 2018 в 20:03
  • 1
    Вы должны использовать -prune для исключения каталогов – muru 23 May 2017 в 11:48
  • 2
    @muru отметил, спасибо. Добавлен ответ – Sergiy Kolodyazhnyy 23 May 2017 в 11:52

Другие вопросы по тегам:

Похожие вопросы: