Home Man
Today's Posts

Students must use and complete the template provided. If you do not use the template your post may be deleted! Special homework rules apply here.

Search email addresses using grep command

👤 Login to reply

Thread Tools Search this Thread
# 1  
Old 09-03-2016
Wrench Search email addresses using grep command

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted!

1. The problem statement, all variables and given/known data:

Let's say if we have a file with a lot of information.
For example:

The question is How many email addresses are in ‘first.last’ name format AND involve someone who’s first name starts with a letter in the first half of the alphabet?

2. Relevant commands, code, scripts, algorithms:

Using grep command only

3. The attempts at a solution (include all code and scripts):

Here's what I tried to search all email addresses, but I don't know to search first.last name and involve someone who’s first name starts with a letter in the first half of the alphabet?

grep -E -o "\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}\b" filename | wc-l

4. Complete Name of School (University), City (State), Country, Name of Professor, and Course Number (Link to Course):

School name: UC Boulder, Colorado, United States, David Knox, CSCI-3308

Note: Without school/professor/course information, you will be banned if you post here! You must complete the entire template (not just parts of it).
Moderator's Comments:
Search email addresses using grep command Please use CODE tags when displaying sample input, sample output, and code segments.

Last edited by Don Cragun; 09-04-2016 at 01:29 AM.. Reason: Add CODE and ICODE tags.
# 2  
Old 09-04-2016
.... wc -l
As your task is to use grep only, you'll may use a feature of grep instead. Look at the manpage(man grep) again. There should be an option which counts the results.

In general regular expressions can be quiet hard. One possible way to get through a task is to begin simple and after each successful attemp take the next step, like this....

Step 1: Just look at the @:

 grep '@' list.txt

Step 2: Include the part after the @:

grep -E -o "@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}"

and so on.


Your expression looks quite good. If you assume two-part domains only(...@domain.com not ...@sub.domain.com) the regex is good.

but I don't know to search first.last name
You are already using character sets("[...]": a list of wanted characters) and quantifiers("+", or "*" or "{n,m}":how often are they supposed to be there). How would you express firstname with character sets and and quantifiers? The same for lastname? If you have it, just put it together like you did already at an other place within your regex.

...who’s first name starts with a letter in the first half of the alphabet?
Dumb question: What characters are exactly in the first half of the alphabet? How would you express that with the construct of a character set "[...]" for the very first character of the firstname? You already used a range(like this: "[A-Z]") in a character set, which will be handy here. Then describe the rest of firstname using another character set.

To create a RegEx pattern, this is a simple procedure, that helps
  • What char (fixed character, list of possible characters, special character classes) do I want now? -> define the character
  • How often should it be there? -> write the quantifier(if needed)
  • Do more characters form a group and this group should be repeated? -> put parenthesis around the group and use the correct quantifier
  • Move on to the next character
  • There are too a lot of regex helper sites you can use for interactive testing. Learn by trying: RegExr: Learn, Build, & Test RegEx

    Last edited by stomp; 09-04-2016 at 01:15 AM..
    # 3  
    Old 09-07-2016
    Thank you so much.

    I think I get it. Appreciate it
    👤 Login to reply

    « Previous Thread | Next Thread »
    Thread Tools Search this Thread
    Search this Thread:

    Advanced Search
    Display Modes

    More UNIX and Linux Forum Topics You Might Find Helpful
    Thread Thread Starter Forum Replies Last Post
    grep command for email marcuslki UNIX for Dummies Questions & Answers 2 02-15-2012 04:20 PM
    Formatting list of IP addresses into a grep command lewk Shell Programming and Scripting 7 02-08-2012 05:14 AM
    Create email Addresses rmail2006 Shell Programming and Scripting 2 08-27-2009 05:34 AM
    Email Question - two email addresses jyoung Shell Programming and Scripting 5 08-04-2008 01:00 PM
    email addresses okbrowder UNIX and Linux Applications 0 04-20-2008 03:02 PM
    keeps telling me my email addresses don't match r0k3t Forum Support Area for Unregistered Users & Account Problems 0 01-22-2007 09:13 AM
    How to delete old email addresses? Deede UNIX for Dummies Questions & Answers 1 02-03-2004 03:25 PM
    How to delete email addresses Deede Programming 4 02-02-2004 06:23 PM

    All times are GMT -4. The time now is 08:48 PM.

    Unix & Linux Forums Content Copyrightę1993-2018. All Rights Reserved.
    UNIX.COM Login
    Show Password