2

Я использую инструмент Ack, чтобы найти строку или IP-адрес в файловой системе

но, пожалуйста, смотрите следующее

почему не найти IP = 10.45.45.130 в /etc /sysconfig /*

IP = 1:10.45.45.130 существует в сетевой директории в файле uoo

Lidia

./ack -r 10.45.45.130  /etc/sysconfig/*
   <not get anything?>

./ack -r 10.45.45.130  /etc/sysconfig/network/*
 /etc/sysconfig/network/uoo
 1:10.45.45.130

пример файла uoo

 more /etc/sysconfig/network/uoo
 10.45.45.130

2 ответа2

0

По умолчанию ack входит в белые списки типов файлов. Если ack не видит файл определенного типа, он игнорирует его.

Ack действительно инструмент для программиста, а не для системного администратора.

0

Вы пробовали « ack -a »?

От BetterThanGrep,

 -a, --all-types       All file types searched;

Опция -r не обязательна (afaik) поведение по умолчанию является рекурсивным.
Чтобы отключить рекурсию, вы используете опцию -n .

Теперь, чтобы проверить, поможет ли « -a » вам,
Попробуйте ввести команду с параметром -l (вместо параметра -r ).
Затем попробуйте снова с опцией -L .

Вы поймете, что происходит, основываясь на том, где файл 'uoo ' отображается в результатах поиска.

Вот что происходит,

-l, --files-with-matches
                        Only print filenames containing matches
-L, --files-without-matches
                        Only print filenames with no matches

Итак, если ваш файл не отображается ни на одной из этих форм, вам нужно добавить опцию ' -a '
(ack более мощный, чем grep но также немного хитрый).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .