У меня есть текстовый файл, открытый в BBEdit / InDesign, с адресами электронной почты в некоторых строках (около трети строк) и именами и датами в других строках. Я просто хочу сохранить строки с электронными письмами и удалить все остальные.
Простой шаблон, который я вижу, чтобы исключить все строки, кроме тех, на которых указаны адреса электронной почты, - это иметь отрицательное соответствие для символа @
.
Я не могу использовать grep -v pattern
, потому что реализация Find and Replace диалогового окна grep
просто имеет поля для Find pattern
и Replace pattern
. grep -something
опции не существуют в этом контексте.
Заметьте, я отмечаю, что пытаюсь создать действительный тест адреса электронной почты вообще, просто используя присутствие одного (или более) символа @
, чтобы оставить строку, все остальные строки должны быть удалены из списка.
Самым близким, что я получил, был шаблон, который поражает только строки адреса электронной почты (противоположный результат моей цели):
^((\w+|[ \.])\w+)[?@].*$
Я пробовал различные комбинации ^.*[^@].*$
и более сложные /w
и [/w|\.]
в скобках и экранирование @
с [^\@]
и отрицательным взглядом вперед, например (!?)
.
Я хочу найти эти строки адресов электронной почты и удалить их с помощью любого из этих приложений в OS X BBEdit / InDesign. Я буду использовать командную строку, если придется. Должен быть способ использовать поиск и замену в приложении с помощью grep, хотя я ожидаю.