Выполните:
$ sudo yum install epel-release
$ sudo yum install alpine
Первый добавляет EPEL в ваш список репозиториев, а EPEL предоставляет alpine.
ПРИМЕЧАНИЕ: Также убедитесь, что репо включено в /etc/yum.repos.d/epel.repo
:
enabled=1
или из командной строки:
$ sudo yum-config-manager --enable epel
Я бы предложил использовать pcregrep
, а не обычный grep
для этого, например.
pcregrep -M '[a-zA-Z]+ [a-zA-Z]+\n[a-zA-Z]+ [0-9]+\n\d{5} [a-zA-Z]+ [a-zA-Z]+' '/home/jublikon/Downloads/emails'
Если вам нужен номер строки, то pcregrep
поддерживает ту же опцию -n
, что и grep
, например.
$ pcregrep -nM '[a-zA-Z]+ [a-zA-Z]+\n[a-zA-Z]+ [0-9]+\n\d{5} [a-zA-Z]+ [a-zA-Z]+' emails
66:Arthur Dent
Galaxy 7
74369 Third Orbit
Этот почтовый индекс выглядит несколько уникальным, поэтому, если в файле нет ничего похожего на индекс, но таковым не является, мы можем просто grep -B
получить предыдущие строки. :
$ grep -B2 -Ee '^[0-9]{5} ' spam
Arthur Dent
Galaxy 7
74369 Third Orbit
т.е. найти пять цифр и пробел в начале строки, вывести эту строку и две предыдущие. (-B
для «до», -A
для «после», -C
для контекста или в обоих направлениях.)
Во-первых, в вашем файле, который вы здесь показываете, нет соответствующих данных. И предполагая, что вы нашли файл с данными, которые вы собираетесь искать, вы должны вызвать grep
с параметрами:
grep -zoP
-z будет рассматривать файл как одну огромную строку. -o вы получите только соответствующую часть -P активирует механизм регулярных выражений Perl, что позволит grep понять, какие регулярные выражения у вас есть.