Добрый день. Стала такая интересная задача, мне нужно, сделать grep по трем фразам, но не просто grep и что бы он искал по всему документу, эти три слова, а что бы он выводил их один за другим. Покажу на примере.
У меня есть такой файл:
1 London Paris |I am the Rock|
2 Moscow Kyiv |I am the Cena|
3 Kharkiv Dnepr |I am the CM Punk|
4 Ottava Amsterdam |I am the Rock|
5 Oslo New-Yourk |I am the Rock|
6 Lviv Varshava |I am the Cena|
7 Berlin Rome |I am the CM Punk|
8 Moscow Oslo |I am the Cena|
9 Kharkiv Kyiv |I am the Brock Lesnar|
Собственно, я должен вывести, один за одним линии содержащие, "I am the Rock" "I am the Cena" "I am the CM Punk". Строго в этой последовальности, одна линия за одной, которые содержат только эти фразы, должно получиться, такое:
1 London Paris |I am the Rock|
2 Moscow Kyiv |I am the Cena|
3 Kharkiv Dnepr |I am the CM Punk|
5 Oslo New-Yourk |I am the Rock|
6 Lviv Varshava |I am the Cena|
7 Berlin Rome |I am the CM Punk|
Вроде, все просто, пробую эту команду:
grep "I am the Rock\|I am the Cena\|I am the CM Punk" textfile
На выходе я получаю:
1 London Paris |I am the Rock|
2 Moscow Kyiv |I am the Cena|
3 Kharkiv Dnepr |I am the CM Punk|
4 Ottava Amsterdam |I am the Rock|
5 Oslo New-Yourk |I am the Rock|
6 Lviv Varshava |I am the Cena|
7 Berlin Rome |I am the CM Punk|
8 Moscow Oslo |I am the Cena|
Как видите, у меня есть повторяющиеся значения с индексом 4 и 8
4 Ottava Amsterdam |I am the Rock|
8 Moscow Oslo |I am the Cena|
Не могу понять, пробовал подобным образом и sed, awk, egrep. Но что-то не выходит, в чем я мог допустить ошибку ? Натолкните на мысль пожалуйста.