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
вариант.