The UNIX and Linux Forums  

Go Back   The UNIX and Linux Forums > Top Forums > UNIX for Dummies Questions & Answers
Google UNIX.COM


UNIX for Dummies Questions & Answers If you're not sure where to post a UNIX or Linux question, post it here. All UNIX and Linux newbies welcome !!

More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
SED replace string by occurrence uttamhoode Shell Programming and Scripting 4 03-05-2008 02:04 AM
last occurrence of a string across multiple files porphyrin UNIX for Dummies Questions & Answers 2 12-24-2007 06:39 AM
appending string to text file based on search string malaymaru Shell Programming and Scripting 1 06-09-2006 05:53 AM
Search and replace to first occurrence of string gilmord UNIX for Dummies Questions & Answers 7 05-03-2006 04:43 AM
copying or concatinating string from 1st bit, leaving 0th bit jazz High Level Programming 2 11-10-2005 09:38 AM

Reply
 
Submit Tools LinkBack Thread Tools Search this Thread Display Modes
  #8  
Old 10-27-2006
Registered User
 

Join Date: Jun 2005
Posts: 26
Hi Thomas,

I want to remove duplicates which are specified explicitely rather than all duplicates.
Thanks Thomas.

Hi Anbu,

I am getting the same error message. Can you take up my example and change the script accordingly.
Thanks in advance.

gops
Reply With Quote
Forum Sponsor
  #9  
Old 10-27-2006
Registered User
 

Join Date: Mar 2006
Location: Bangalore,India
Posts: 1,397
Code:
#!/bin/ksh

awk -v check_val="$1" '{
        if( $0==check_val) { key[$0]++ }
        if(key[$0] < 2 ) print $0
       }' inputfile > outputfile
Reply With Quote
  #10  
Old 10-31-2006
Registered User
 

Join Date: Jun 2005
Posts: 26
Hi Anbu,

I was off for few days and hence the delay in replying.
I tried your stuff but I am getting this error
awk -v check_val="$1" '{
if( $0==check_val) { key[$0]++ }
if(key[$0] < 2 ) print $0
}' inputfile > outputfile

awk: syntax error near line 1
awk: bailing out near line 1

I created a script test and fired it like ksh test.ksh cattle

I am using korn shell. Do i need to make some changes for that ?

Thanks in advance.

cheers,
gops
Reply With Quote
  #11  
Old 10-31-2006
Registered User
 

Join Date: Jun 2005
Posts: 26
Hi Guys,

It is working fine when i supstitute nawk with awk command. Anbu, thanks a lot.

When i pass the exact string that line gets deleted in the outputfile.

But i want to pass a part of the string and i want whole string to be deleted.

for eg

inputfile

cattle
battle
cat
mattle
cattle

my outputfile should be
cattle
battle
mattle

here i want to check for cat%. I dont know how to do that using nawk.
Please help me out on this.

Best Regards,
gops
Reply With Quote
  #12  
Old 10-31-2006
Registered User
 

Join Date: Oct 2006
Location: Bangalore, India
Posts: 41
Quote:
Originally Posted by anbu23
Code:
#!/bin/ksh

awk -v check_val="$1" '{
        if( $0==check_val) { key[$0]++ }
        if(key[$0] < 2 ) print $0
       }' inputfile > outputfile
umm..how abt this?

awk '/$1/' inputfile>temp

awk '{for ( $0 in `cat temp` )
key[$0]++
if(key[$0] < 2 ) print $0
}' inputfile > outputfile


i didnt try this out, but i hope the logic is clear. i searched for the pattern specified by $1 and stored all the matches in temp. then instead of a direct comparison with 'if', i matched $0 with all the values in temp using a for loop. rest of the logic is the same. pardon any syntactical errors.
Reply With Quote
  #13  
Old 10-31-2006
Registered User
 

Join Date: Jun 2005
Posts: 26
Hi npolayan,

I can able to create the temp file with appropriate values to look at but when i executed the awk statement
awk '{ for ($0 in `cat temp`)
key[$0]++
if(key[$0] < 2 ) print $0
}' inputfile > outputfile

I am getting error messages

illegal statement at source line 1
illegal statement at source line 4

Let me know if you have the answer.

Thanks in advance.

cheers,
gops
Reply With Quote
Google The UNIX and Linux Forums
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes




All times are GMT -7. The time now is 03:57 AM.


Powered by: vBulletin, Copyright ©2000 - 2006, Jelsoft Enterprises Limited.
The UNIX and Linux Forums Content Copyright ©1993-2008. All Rights Reserved.Ad Management by RedTyger Visit The Complex Event Processing Blog

Content Relevant URLs by vBSEO 3.2.0