Grep expression between double quotes

 
Thread Tools Search this Thread
Homework and Emergencies Emergency UNIX and Linux Support Grep expression between double quotes
# 15  
Old 12-24-2009
Hi aaiaz, if your grep does not support the -o option then you have to either download a grep that can or use a sed/awk/shell script. It can not be accomplished with a regular grep statement.
# 16  
Old 12-24-2009
ok thanks man
SmilieSmilieSmilieSmilieSmilie

---------- Post updated at 04:31 AM ---------- Previous update was at 04:30 AM ----------

but how can I achieve this using sed or awk. it still not direct reach.
SmilieSmilieSmilie
# 17  
Old 12-24-2009
Hi aaiaz, it was a bit complicated, but I've come up with this as a grep -o replacement:
Code:
sed 's|"http://[^"]*"|&\n|g' infile | sed -n 's|.*\("http://[^"]*"\).*|\1|p'

-or-
Code:
pat='"http://[^"]*"'
sed "s|$pat|&\n|g" infile | sed -n "s|.*\($pat\).*|\1|p"


Last edited by Scrutinizer; 12-24-2009 at 07:36 AM..
# 18  
Old 12-24-2009
Or use Perl:

Code:
perl -nle'print$1while m|("http://[^"]*")|g' infile

# 19  
Old 12-24-2009
Scrutinizer it is not working:-

Code:
bash-3.00$ echo '"http://a.b.c" blablabla "http://b.b.f"' | sed 's|\"http://[^\"]*\"|&\n|' | sed -n 's|.*\("http://[^"]*"\).*|\1|p'

o/p
"http://b.b.f"

SmilieSmilieSmilie

and radoulov unfortunately I do not have perl.Smilie
# 20  
Old 12-24-2009
Quote:
Originally Posted by aaiaz
[...]
and radoulov unfortunately I do not have perl.Smilie
Ha! Smilie A Solaris machine without a Perl interpreter?

Try with nawk:

Code:
nawk -F\" '{ 
  for (i=0; ++i<=NF;)
    if ($i ~ /^http:\/\//) print FS $i FS
  }' infile

All my examples assume the urls do not span more than one line, otherwise you'll need something different.

---------- Post updated at 12:07 PM ---------- Previous update was at 11:58 AM ----------

Or:

Code:
nawk  '/^http:/&&$0=RS$0RS' RS=\" infile


Last edited by radoulov; 12-24-2009 at 07:12 AM..
# 21  
Old 12-24-2009
HaySmilieSmilieSmilie thanks radoulov both codes working great..regarding perl my machine is customized & I am not the owner of it just simple user.

SmilieSmilieSmilieSmilieSmilieSmilieSmilie
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Replace Double quotes within double quotes in a column with space while loading a CSV file

Hi All, I'm unable to load the data using sql loader where there are double quotes within the double quotes As these are optionally enclosed by double quotes. Sample Data : "221100",138.00,"D","0019/1477","44012075","49938","49938/15043000","Television - 22" Refurbished - Airwave","Supply... (6 Replies)
Discussion started by: mlavanya
6 Replies

2. Shell Programming and Scripting

Replace double quotes with a single quote within a double quoted string

Hi Froum. I have tried in vain to find a solution for this problem - I'm trying to replace any double quotes within a quoted string with a single quote, leaving everything else as is. I have the following data: Before: ... (32 Replies)
Discussion started by: pchang
32 Replies

3. Shell Programming and Scripting

Issue with Single Quotes and Double Quotes for prompt PS1

Hi, Trying to change the prompt. I have the following code. export PS1=' <${USER}@`hostname -s`>$ ' The hostname is not displayed <abc@`hostname -s`>$ uname -a AIX xyz 1 6 00F736154C00 <adcwl4h@`hostname -s`>$ If I use double quotes, then the hostname is printed properly but... (3 Replies)
Discussion started by: bobbygsk
3 Replies

4. Shell Programming and Scripting

Replace double double quotes using AWK/SED

Hi, I have data as "01/22/97-"aaaaaaaaaaaaaaaaa""aaa""aabbbbbbbbcccccc""zbcd""dddddddddeeeeeeeeefffffff" I want to remove only the Consequitive double quotes and not the one which occurs single. My O/P must be ... (2 Replies)
Discussion started by: Bhuvaneswari
2 Replies

5. UNIX for Dummies Questions & Answers

how to use grep: finding a string with double quotes and multiple digits

I have a file with a lot of lines (a lot!) that contain 10 digits between double quotes. ie "1726937489". The digits are random throughout, but always contain ten digits. I can not for the life of me, (via scouring the internet and grep how-to manuals) figure out how to find this when I search.... (3 Replies)
Discussion started by: titusbass
3 Replies

6. UNIX for Dummies Questions & Answers

grep single quotes or double quotes

Unix superusers, I am new to unix but would like to learn more about grep. I am very familiar with regular expressions as i have used them for searching text files in windows based text editors. Since I am not very familiar with Unix, I dont understand when one should use GREP with the... (2 Replies)
Discussion started by: george_vandelet
2 Replies

7. Shell Programming and Scripting

Double Quotes with sh -c

Hi, I am using the following command to create a log file. echo "`date` Starting the workflow" >> MYLOG_`date '+%d%m%Y'`.log My application (Informatica) takes the above command and issues the following to the UNIX server. sh -c "echo "`date` Starting the workflow" >> MYLOG_`date... (1 Reply)
Discussion started by: sysdata
1 Replies

8. Shell Programming and Scripting

Single quotes and double quotes

Hi guys, I have a sed line in double quotes which works fine, but I want it to be in single quotes here is the sed line sed "/abc_def/s/\'.*\'/\'\${abc_def}\'/" can some one give the equivalent to the above script in single quotes Thanks a ton (5 Replies)
Discussion started by: sol_nov
5 Replies

9. Shell Programming and Scripting

Double quotes or single quotes when using ssh?

I'm not very familiar with the ssh command. When I tried to set a variable and then echo its value on a remote machine via ssh, I found a problem. For example, $ ITSME=itsme $ ssh xxx.xxxx.xxx.xxx "ITSME=itsyou; echo $ITSME" itsme $ ssh xxx.xxxx.xxx.xxx 'ITSME=itsyou; echo $ITSME' itsyou $... (3 Replies)
Discussion started by: password636
3 Replies

10. UNIX for Dummies Questions & Answers

grep exclude/find single and double quotes

Hello, I'm trying to use grep or egrep to exclude a whole range of characters but how do I exclude both a single and a double quote. It might be easier to say how do I use grep to find both single and double quotes. grep ' ' " ' file grep detects the first single quote within my... (4 Replies)
Discussion started by: Lindy_so
4 Replies
Login or Register to Ask a Question