Как к grep или находят точно, что я ищу?

Как я могу искать слово под названием "Onderh"? Расширенный поиск я хотел бы сделать, такие как: стартовая строка с "Onderh" или строка содержат "Onderh".

Примечание: Локальный каталог Backup, содержите каждый дни снимок MySQL "database.sql (размер файла: 81902272)". В том файле я должен применить поиск.

[me@www win]$ ls
2011-03-01  2011-03-04  2011-03-07  2011-03-10  2011-03-13  2011-03-16  2011-03-19  2011-03-22  2011-03-25  2011-03-28  2011-03-31  2011-04-03  2011-04-06
2011-03-02  2011-03-05  2011-03-08  2011-03-11  2011-03-14  2011-03-17  2011-03-20  2011-03-23  2011-03-26  2011-03-29  2011-04-01  2011-04-04  2011-04-07
2011-03-03  2011-03-06  2011-03-09  2011-03-12  2011-03-15  2011-03-18  2011-03-21  2011-03-24  2011-03-27  2011-03-30  2011-04-02  2011-04-05  2011-04-08

[me@www 2011-04-08]$ ll
total 80092
-rw-r--r--  1 root root 81902272 Apr  8 01:00 database.sql
drwxr-xr-x 99 root root    12288 Apr  8 01:00 etc
drwxr-xr-x  4 root root     4096 Apr  8 01:00 home
drwxr-xr-x 10 root root     4096 Apr  8 01:00 html
drwxr-xr-x 14 root root     4096 Apr  8 01:00 postfixadmin-2.3
0
задан 08.04.2011, 11:43

2 ответа

Если Вы хотите проверить через все те каталоги, попробуйте:

[me@www win]$ grep -n ^Onderh */database.sql

найти строки (флаг-n показывает номер строки), запускающийся с Onderh. ^ специальный символ состоит в том, чтобы привязать соответствие к запуску строки - избавляются от него, если Вы хотите найти его где-нибудь в строке.

Ack могло также стоить изучить, если у Вас есть более сложные требования. Например, если бы sql файлы, которыми Вы интересовались, не были так хорошо организованы, то ack смог бы искать в только .sql файлы во всей структуре каталогов.

1
ответ дан 24.11.2019, 06:41

Если файлы являются текстовыми файлами, можно использовать grep с флагом regex.

grep -R -E "^Onderh" *
grep -R "Onderh" *

Сначала будет искать строку, начинающуюся onderh, второй для всех строк, содержащих его.

1
ответ дан 24.11.2019, 06:41

Теги

Похожие вопросы