Как я могу получить список каталогов с помощью ack?

517
knpwrs

У меня есть список каталогов следующим образом (предоставленный ls -la):

total 8 drwxr-xr-x 6 <user> <group> 204 Oct 18 12:13 . drwxr-xr-x 7 <user> <group> 238 Oct 18 11:29 .. drwxr-xr-x 14 <user> <group> 476 Oct 18 12:31 .git -rw-r--r-- 1 <user> <group> 601 Oct 18 12:03 index.html drwxr-xr-x 2 <user> <group> 68 Oct 18 12:13 test drwxr-xr-x 2 <user> <group> 68 Oct 18 12:13 test2 

Запуск ack . -fраспечатывает файлы в каталоге:

index.html 

Как я могу получить подтверждение распечатки каталогов в каталоге? Я хочу игнорировать .gitкаталог (который я понимаю, поведение по умолчанию для ack). На этой ноте, как я могу игнорировать определенные каталоги?

Я использую ack 1.9.6 на Mac OSX 10.8.2.

1
Почему вы хотите использовать ack для перечисления вещей вместо ls? Alan Shutko 11 лет назад 1
Мне нужно что-то, что я могу легко передать в `xargs`. Я могу выбрать `find --print0` (странный синтаксис, пытаясь держаться от него подальше) и` ack --print0`, оба из которых легко передаются в `xargs -0`. knpwrs 11 лет назад 0
Так как же `ack --print0` менее странно, чем` find -print0`? Если вам сложно набрать / запомнить команду, создайте псевдоним. grawity 11 лет назад 0
найти. -name .git -a -type d -prune -o -type f -print0` упрощается до `ack. -f --print0`. Кроме того, я хочу найти способ просто `найти. -name .git -a -type d -prune -o -type d -print0` в свой эквивалент. knpwrs 11 лет назад 0

1 ответ на вопрос

0
Andy Lester

Ты не можешь ack только для файлов, а не для каталогов. Это инструмент поиска текста, а не поиск файлов общего назначения.

Чтобы игнорировать каталоги, используйте --ignore-dirопцию.