Найти и напечатать первое слово с соответствующим шаблоном

У меня есть текстовый файл, в котором есть два столбца:

Name Age

Я хочу найти часть Name в этом файле и, найдя первое совпадение, я хочу напечатать все Name Пример:

Name                   Age
Ashok Kumar(father)    32
Deepak khan(son)      19
Nirmal khan(son)       21

I want to search for(son) and want to return Deepak khan

Я пробовал

grep -r 'John' myfile
0
задан 14 September 2015 в 02:01

1 ответ

Можно сделать это использование grep с PCRE (-P):

grep -Po '.*(?=\(son\))' file.txt 
  • (?=\(son\)) нулевая ширина положительный предварительный шаблон, гарантирующий, что (son) следует после соответствия т.е. только (-o) имена, сопровождаемые (son), покажут на выводе

Пример:

$ cat file.txt 
Name                   Age
Ashok Kumar(father)    32
Deepak khan(son)      19
Nirmal khan(son)       21

$ grep -Po '.*(?=\(son\))' file.txt 
Deepak khan
Nirmal khan
1
ответ дан 14 September 2015 в 12:01
  • 1
    Я должен был запуститься также: 4. склонные sudo - получают установку php7.1 – zioMitch 4 December 2016 в 21:42

Другие вопросы по тегам:

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