Ack/Ag не возвращает результат поиска без *

Я пытаюсь найти текст в каталоге, и оказалось, что следующие синтаксисы не дают никакого результата

ack -i "0xabcdef" ./

ack -i "0xabcdef"

ack -i "0xabcdef" .

пока работает следующая команда

ack -i "0xabcdef" *

Может кто-нибудь объяснить, почему это так? Каково значение * . Я также заметил, что в каталоге есть символические ссылки

1 ответ

Решение

Вам не нужно указывать каталог для подтверждения. По умолчанию он копается в текущий каталог.

Я также заметил, что в каталоге есть символические ссылки

Тогда отличная вещь, чтобы сделать, это посмотреть на руководство (либо man ack или же ack --man) и найдите "ссылку". Первое, что вы найдете, это опция:

   --[no]follow
       Follow or don't follow symlinks, other than whatever starting files
       or directories were specified on the command line.

       This is off by default.

Это означает, что если вы хотите, чтобы ack следовал по символическим ссылкам, вам нужно указать --follow вариант.

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