Как найти шаблон в файле и отобразить строку на терминале? - PullRequest
2 голосов
/ 26 сентября 2011

У меня есть наполнитель с содержанием, как показано ниже:

pid 4565 Process: /my/name/is/4678 +34787[d]sfh888dwe4rtertfsj@##$
pid 33453 Process: /my/name/is/4678 +34787[d]sfh888dfsj@##werwer$
pid 3453345 Process: /my/name/is/4678 +3478[7]dsfhew46534wy6888dfsj@##$
pid 12335 Process: /my/name/is/4678 +3478se[r]tet57dsfh888dfsj@##$

Мне нужно, чтобы этот шаблон содержал строку "+34787 [d] sfh888dfsj @ ## werwer $", и мне нужно получить всю эту строку на терминале или ее можно перенаправить в другой файл. Любое предложение? Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 26 сентября 2011

Использовать grep с фиксированным режимом строк (он же fgrep):

grep -F '+34787[d]sfh888dfsj@##werwer$' /path/to/my/file

Запустите man grep, чтобы узнать больше.

Если вам нужно перенаправить его в какой-нибудь выходной файл вместо стандартного вывода:

grep -F '+34787[d]sfh888dfsj@##werwer$' /path/to/my/file > /path/to/my/output

Запустите man sh или man bash и прочитайте о перенаправлениях.

0 голосов
/ 26 сентября 2011

grep / awk / sed ... многие инструменты могут это сделать. Пример grep:

 kent$  echo "pid 4565 Process: /my/name/is/4678 +34787[d]sfh888dwe4rtertfsj@##$
    pid 33453 Process: /my/name/is/4678 +34787[d]sfh888dfsj@##werwer$
    pid 3453345 Process: /my/name/is/4678 +3478[7]dsfhew46534wy6888dfsj@##$
    pid 12335 Process: /my/name/is/4678 +3478se[r]tet57dsfh888dfsj@##$"|grep '\+34787\[d\]sfh888dfsj@##werwer\$'

    pid 33453 Process: /my/name/is/4678 +34787[d]sfh888dfsj@##werwer$
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...