LinuxQuestions.org
Visit the LQ Articles and Editorials section
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - General
User Name
Password
Linux - General This Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.

Notices

Reply
 
Search this Thread
Old 12-22-2010, 03:53 PM   #1
binny959
Member
 
Registered: Jul 2004
Distribution: Debian (squeeze)
Posts: 31

Rep: Reputation: 15
using grep to output non-matches into output file


Hi,
I'm running a mass grep script to search for patterns. I have it working but now what I want to do is display the patterns that do not match into another output file and no longer the matches. What option do I use with grep or pipe? I want the command to display the pattern it didn't find into a text file. I'm on Redhat 5.4 GNU. The file will contain 28 thousand grep queries and this time I don't want the matches, just the patterns that do not match.

Just for information purposes:
Target file to search against is called objects_from_file_map.txt and I would name the output file to something like non-matching_objects.csv

Example of one the start of my file where I'm doing it the normal way but like I said, I need the opposite now:

#!/usr/bin/sh
#this script takes searches for the missing objects in filemap and
#displays output in duplicated_matching_objects.csv
grep -n 118021.asm objects_from_file_map.txt>duplicated_matching_objects.csv
grep -n 118022.asm objects_from_file_map.txt>>duplicated_matching_objects.csv
grep -n 118023.asm objects_from_file_map.txt>>duplicated_matching_objects.csv
grep -n 118025.asm objects_from_file_map.txt>>duplicated_matching_objects.csv
..and so on
 
Old 12-22-2010, 04:08 PM   #2
syg00
LQ Veteran
 
Registered: Aug 2003
Location: Australia
Distribution: Lots ...
Posts: 12,226

Rep: Reputation: 1019Reputation: 1019Reputation: 1019Reputation: 1019Reputation: 1019Reputation: 1019Reputation: 1019Reputation: 1019
And the manpage was no help ?. Particularly the bit about invert-match ?.
 
Old 12-24-2010, 08:42 PM   #3
binny959
Member
 
Registered: Jul 2004
Distribution: Debian (squeeze)
Posts: 31

Original Poster
Rep: Reputation: 15
Quote:
Originally Posted by syg00 View Post
And the manpage was no help ?. Particularly the bit about invert-match ?.
I did look at the man page and that was the first thing I tried with -v option but for some reason it was logging like crazy into duplicated_matching_objects.csv. Then I wasn't sure if that was really what I needed. So I'll try to fidget around with that more and my file.

grep -nv 118022.asm objects_from_file_map.txt>>duplicated_matching_objects.csv
 
Old 12-24-2010, 09:34 PM   #4
trey85stang
Senior Member
 
Registered: Sep 2003
Posts: 1,090

Rep: Reputation: 41
I dont think grep will do what you want on it's own.
 
Old 12-24-2010, 10:46 PM   #5
catkin
LQ 5k Club
 
Registered: Dec 2008
Location: Tamil Nadu, India
Distribution: Servers: Debian Squeeze and Wheezy. Desktop: Slackware64 14.0. Netbook: Slackware 13.37
Posts: 8,541
Blog Entries: 28

Rep: Reputation: 1176Reputation: 1176Reputation: 1176Reputation: 1176Reputation: 1176Reputation: 1176Reputation: 1176Reputation: 1176Reputation: 1176
Quote:
Originally Posted by binny959 View Post
I did look at the man page and that was the first thing I tried with -v option but for some reason it was logging like crazy into duplicated_matching_objects.csv.
Which could be removed by pushing it through a sort | uniq pipe.
 
Old 12-24-2010, 11:20 PM   #6
syg00
LQ Veteran
 
Registered: Aug 2003
Location: Australia
Distribution: Lots ...
Posts: 12,226

Rep: Reputation: 1019Reputation: 1019Reputation: 1019Reputation: 1019Reputation: 1019Reputation: 1019Reputation: 1019Reputation: 1019
The entire concept is appalling inefficient. Usage of (even simple) regex would save the recurrent re-reading of the entire file - e.g. say
Code:
grep -nv 11802[0-3,5].asm objects_from_file_map.txt>>duplicated_matching_objects.csv
Modify as appropriate.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
[SOLVED] CVS + grep output to file Myiagros Linux - Newbie 2 05-20-2010 10:30 AM
Grep on output of command returns all output traigo Linux - Newbie 2 02-24-2009 05:15 PM
ps -eH | grep java output in a active passive clustered output johnkalikavunkal Linux - Server 2 01-30-2009 11:21 PM
grep output on stdout and grep output to file don't match xnomad Linux - General 3 01-13-2007 04:56 AM
output to a file - cat? grep? Godsmacker777 Linux - Newbie 6 12-08-2004 10:06 AM


All times are GMT -5. The time now is 11:12 AM.

Main Menu
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration