Grep, ищущий слова по буквам

Я перерываю файл людей, который структурирован как ниже

John Smith 555-555-5555 Гарвард Сквер, Бостон

Я интересуюсь нахождением всех Фамилий, которые запускаются с определенная буква. Я попытался использовать "grep \

0
задан 12 October 2014 в 02:44

2 ответа

Я предлагаю, чтобы Вы использовали awk вместо grep, например, найти строки, второе разделенное пробелом поле которых запускается с буквы S

awk '$2 ~ /^S/' file
2
ответ дан 6 October 2019 в 23:47

Попытайтесь использовать grep с шаблоном Regex:

grep -P "(?<=^[A-Za-z]+\\s)A"

Это должно соответствовать всем записям фамилии, начинающейся A.

<час>

объяснение Regex

Lookbehind (?<=text) проверяет, происходит ли text перед на самом деле искавшим шаблоном. Я использую его для пропуска имени, которое дано ^[A-Za-z]+\\s, означая начало строки (^), тогда по крайней мере одна буква, неважно, если captital или нет, то пространство (\\s). После lookbehind на самом деле подобранный шаблон стоит, в этом случае прописная буква A.

0
ответ дан 6 October 2019 в 23:47

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

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