Я хотел бы получить номера телефонов из файла. Я знаю, что числа имеют разные формы, я могу обработать одну, но не знаю, как получить регулярное выражение Например
xxx-xxx-xxxx
(xxx)xxx-xxxx
xxx xxx xxxx
xxxxxxxxxx
Я могу обрабатывать только 1, 2 и 4 вместе
grep '[0-9]\{3\}[ -]\?[0-9]\{3\}[ -]\?[0-9]\{4\}' file
Есть ли какой-нибудь один регулярное выражение, способное обработать все эти четыре формы?