tags:

views:

33

answers:

2

I have lines in a file which look like the following

....... DisplayName="john" ..........

where .... represents variable number of other fields.

Using the following grep command, I am able to extract all the lines which have a valid 'DisplayName' field

grep DisplayName="[0-9A-Za-z[:space:]]*" e:\test

However, I wish to extract just the name (ie "john") from each line instead of the whole line which is returned by grep. I tried pipelining the output to the cut command but it does not accept string delimiters.

+1  A: 

You can do it with sed by selecting some specific regexp group. Check it here: http://superuser.com/questions/11130/can-gnu-grep-output-a-selected-group

Max
A: 

The grep -o option just displays the match, and if that's still too much you can try sed.

teratomata