negate search help


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting negate search help
# 1  
Old 10-09-2008
negate search help

Hi, I've tried a lot of negate codes in this forum, but they do not perform what I intended. Please help.

inputfile:

Paragraph1 contents: die1, die2, die3, pr_name1, pr_name2
pr_name3, pr_name4

Paragraph2 more contents: die1, die2, die3, pr_name1, pr_name2
pr_name3, pr_name4

outputfile:

pr_name1
pr_name2
pr_name3
pr_name4

pr_name1
pr_name2
pr_name3
pr_name4

The 2 codes that I've found so far are:
sed -ne '/Paragraph1/s/Paragraph1 contents: die1, die2, die3, pr/pr/p' inputfile > outputfile
This only give me pr_name1, pr_name2. I want to modify this code sed -ne '/Paragraph./s/Paragraph.(anything in between)pr/pr/p' inputfile > outputfile

awk '/Paragraph1/{print $NF}' inputfile > outputfile
This only give me pr_name2.

thanks.

Last edited by shamushamu; 10-09-2008 at 06:08 PM..
# 2  
Old 10-09-2008
Code:
$ cat infile 
Paragraph1 contents: die1, die2, die3, pr_name1, pr_name2
pr_name3, pr_name4

Paragraph2 contents: die1, die2, die3, pr_name1, pr_name2
pr_name3, pr_name4

$ perl -00>outfile  -lne's/, /\n/g;print/((?:.*?\n*){4})$/' infile 
$ cat outfile 
pr_name1
pr_name2
pr_name3
pr_name4

pr_name1
pr_name2
pr_name3
pr_name4

# 3  
Old 10-09-2008
try somethig like this
Code:
sed -e 's/, /\
/g' -e '/^pr/!d' infile

# 4  
Old 10-09-2008
Thanks, Radoulov for the perl script. I'm using .bashrc and perl is much more complicated. I think your code is looking at the 4th field after the last comma. My report varies so it's not always the 4th field, but I forgot to mention that Smilie

Vidyadhar85, your codes works perfectly. Can you please explain how it works? I tried to combine the 2 lines together (sed -e 's/, /\/g' -e '/^pr/!d' infile) and of course it didn't work. hehe. I only thing that I understand is the first line look for the last comma using the -e option, but I dont understand the /\ part. Then the next line negate delete all words that don't start with ^pr. Please explain more in details so I can leverage your code in the future. Thanks.
# 5  
Old 10-09-2008
Quote:
Can you please explain how it works?
basically it enteres a new line after each ", "
so i am searching for ", " and then inserting newline by hitting an enter after search thats why it went to next line so it won't work in single line
regards,
vidyadhar
# 6  
Old 10-09-2008
Vidyadhar85, Thanks for the explaination. Leverage from your codes, I have modified it for anyone who might find this useful. I used:

sed -e 's/, /\n/g' -e '/pr/!d' -e 's/contents: /\n/g' input > temp
sed -e '/pr/!d' temp > output
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to get the negate of decimal to binary?

Hi All, New to this forum (and yes , a newbie in programming..:p) I have a decimal to binary converter script done this way : i=$1 bit0=$(( (i & 0x01) > 0 )) bit1=$(( (i & 0x02) > 0 )) bit2=$(( (i & 0x04) > 0 )) bit3=$(( (i & 0x08) > 0 )) bit4=$((... (6 Replies)
Discussion started by: digiteltlc
6 Replies

2. Shell Programming and Scripting

How to negate pattern within sed?

Example: I have data like, H|1|2|#||4|4|5|6 D|f|g|h|j|j|k|k| D|f|g|h|j|j|k|k| D|f|g|h|j|j|k|k| D|f|g|h|j|j|k|k| D|f|g|h|j|j|k|k| T|g|g|G|G|g|g| T|g|g|G|G|g|g| I have to write command, it should delete all the lines except line starting with "D". I have tried sed '/^\(D\)|/!d'... (2 Replies)
Discussion started by: duplicate
2 Replies

3. Web Development

Negate user space URL in Apache

Hello, I have a situation where I am trying to use Apache's RedirectMatch directive to redirect all users to a HTTPS URL except a single (Linux) user accessing there own webspace. I have found a piece of regular expression code that negates the username: ^((?!andy).)*$but when I try using it... (0 Replies)
Discussion started by: LostInTheWoods
0 Replies

4. Shell Programming and Scripting

Negate alerting for particular metadevice.

Hi All... I have a script that checks for any problems(particularly looks for 'Needs Maintenance') with metadevices and alerts accordingly. This was not configured to alert for a particular metadevice. Now i want to negate alerting for a particular metadevice(say d40). Is this possible? I am... (6 Replies)
Discussion started by: reddybs
6 Replies

5. Shell Programming and Scripting

Help: Regular Expression for Negate Matching String

Hi guys, as per subject I am having problem with regular expressions. Example, if i got a string "javax.servlet.http.HttpServlet.service" that may occurred anywhere within a text file. How can I used the negate pattern matching of regular expression? I tried the below pattern but it... (4 Replies)
Discussion started by: DrivesMeCrazy
4 Replies

6. Shell Programming and Scripting

Negate gawk search

Hi, I am using the under-noted script to search the "MYPATTERN" in MYFILE and print that block of lines containing the pattern starting with HEADER upto FOOTER. Please help me what to put in script to negate the search i.e. not to print those blocks meeting the search criteria. gawk -v... (1 Reply)
Discussion started by: vanand420
1 Replies

7. Shell Programming and Scripting

negate search within sed

I working fine with following statement - sed '/search_pattern/ s/pattern1/pattern2/' file_name requirement changes , now i want negate the search something like - sed '! /search_pattern/ s/pattern1/pattern2/' file_name (this doesn't work) anybody can plz tell the correct syntax... (2 Replies)
Discussion started by: ajitkumar2
2 Replies

8. Shell Programming and Scripting

How to negate grep result?

Here is my script so far: set dirs = ` find . -name "message.jar" 2> /dev/null | cut -d "/" -f 2 ` | uniq foreach dir ( $dirs ) if (grep $dir/* someText==null) --> how do I write this in script? print $dir end end (4 Replies)
Discussion started by: mmdawg
4 Replies

9. Shell Programming and Scripting

negate * with in pattren matching...

Hi Every one I have a file in the following manner... AAAAAA*PERFORM WRITEQ BBDFDD*PERFOMF WRITEQ FFFF *PERFOMF WRITEQ i want to find the lines which donot have * in 7th position.. I have tried this but some problem i think... grep '......*WRITEQ' INpFIle... any 6 chars not... (7 Replies)
Discussion started by: pbsrinivas
7 Replies

10. Shell Programming and Scripting

how do I negate a sed match

I have a text file that has links in it. I can write a match for sed to replace the link with anything. For example: http://www.google.com becomes XxX But what I'm after is not to replace the link with something but to remove everything else and just leave the link. I want a... (5 Replies)
Discussion started by: muxman
5 Replies
Login or Register to Ask a Question