find / -name "php.ini"
Я знаю, что могу найти, что вышеупомянутая команда получает точное местоположение искавшего файла. Я должен найти строку oci8 в этом файле.
так как у меня нет доступа к GUI, я не могу использовать редактора, чтобы сделать это для меня :( И потому что размер файла является относительно большим, я должен знать, какую команду делают я должен использовать для получения номера строки первого вхождения!?
Вы могли попробовать ниже find
команда, какой внутренний изгиб вызывают awk.
find / -name "php.ini" -exec awk '/oci8/{print NR; exit}' {} \;
Пример:
$ cat php.ini
http://stackoverflow.com
foo oci8
oci8
$ find . -name "php.ini" -exec awk '/oci8/{print NR; exit}' {} \;
2
Объяснение:
Поиск файлов в .
текущий каталог ( /
корневой каталог средств) с именем php.ini
. Если файл был найден с тем именем, упомянутым, тогда делают или выполняют этот awk '/oci8/{print NR; exit}' {}
операция на основанных файлах.
awk '/oci8/{print NR; exit}'
Поиски строки, которая содержит строку oci8
. Если это находит кого-либо, то это печатает соответствующий номер строки (print NR
), и внезапно выйдите ( exit
) из поиска далее.
Через Perl
find / -name "php.ini" -exec perl -nle 'print $. and last if /oci8/;' {} \;
Используйте grep
с find
:
find / -name "php.ini" -exec grep -Hnm1 'oci8' {} +
grep
предназначен для поиска шаблонов в файлах. -H
и -n
флаги позволяют печатать имя файла и номер строки согласующих отрезков длинной линии, соответственно. -m
флаг ограничивает поиск определенным числом согласующих отрезков длинной линии, в этом случае, 1.