Я перерываю файл людей, который структурирован как ниже
John Smith 555-555-5555 Гарвард Сквер, Бостон
Я интересуюсь нахождением всех Фамилий, которые запускаются с определенная буква. Я попытался использовать "grep \
Я предлагаю, чтобы Вы использовали awk
вместо grep
, например, найти строки, второе разделенное пробелом поле которых запускается с буквы S
awk '$2 ~ /^S/' file
Попытайтесь использовать grep
с шаблоном Regex:
grep -P "(?<=^[A-Za-z]+\\s)A"
Это должно соответствовать всем записям фамилии, начинающейся A.
<час> Lookbehind (?<=text)
проверяет, происходит ли text
перед на самом деле искавшим шаблоном. Я использую его для пропуска имени, которое дано ^[A-Za-z]+\\s
, означая начало строки (^
), тогда по крайней мере одна буква, неважно, если captital или нет, то пространство (\\s
). После lookbehind на самом деле подобранный шаблон стоит, в этом случае прописная буква A.