The UNIX and Linux Forums  
Hello and Welcome from United States to the UNIX and Linux Forums! Thank You for Visiting and Joining Our Global Community.

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 !!

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish
 
LinkBack Thread Tools Search this Thread Rate Thread Display Modes
  #1 (permalink)  
Old 12-01-2005
OmegaRed OmegaRed is offline
Registered User
  
 

Join Date: Dec 2005
Posts: 3
Any help?

This is what I need to do to sort out the results from a script:

I know the first half is right, but the second half is what's getting me.
The file has 6 fields like this

word numbers numbers numbers numbers numbers

and I only care about finding numbers in the 6th field that have even numbers. It finds some but not all because when I cat the .txt I can see some of them didn't go over. I know I could copy the rest but I would like to understand how to do it the first time.

Here's what I have:

grep "^[A-Z].*[tcz].* [1-9][02468][0-9]*$" /home/public/data.txt | sort -nk3 | head -83 | tail -43 | sort -nk2 > ~/program.txt


I have cursed and strained over this for awhile. Anyone know what I am doing wrong?

Thanks in advance

Edited to make more sense.

Last edited by OmegaRed; 12-01-2005 at 11:43 PM.. Reason: to make more sense
  #2 (permalink)  
Old 12-02-2005
grasper grasper is offline
Registered User
  
 

Join Date: Sep 2005
Posts: 45
Well you're doing a head and a tail, so you're deliberately removing some (arbitrary) results from the grep.
  #3 (permalink)  
Old 12-02-2005
guhas guhas is offline
Registered User
  
 

Join Date: Sep 2005
Posts: 22
do you have field seperators in the file
if you have then it becomes easy to filter.

let me know
  #4 (permalink)  
Old 12-02-2005
OmegaRed OmegaRed is offline
Registered User
  
 

Join Date: Dec 2005
Posts: 3
field seperators eh? I'm not sure how to do those, are those the things liek this
[0-9]{1,5}? The squiggly brackets?

And the head and tail, I threw in for fun because I was trying to see if I could make my pipe even longer and still work. The only thing I'm really concerned about is the grepping the numbers part, I don't seem to get all of them. If the squiggly's are field seperators I'll try them.
  #5 (permalink)  
Old 12-02-2005
bakunin bakunin is offline Forum Staff  
Bughunter Extraordinaire
  
 

Join Date: May 2005
Location: In the leftmost byte of /dev/kmem
Posts: 1,617
It would help if you could provide a bit more information in the following order:

1. what you want to achieve in short words
2. a significant sample of your input data
3. a significant sample of the output you get right now
4. a description of in which way the output you get deviates from the desired result

bakunin
  #6 (permalink)  
Old 12-02-2005
OmegaRed OmegaRed is offline
Registered User
  
 

Join Date: Dec 2005
Posts: 3
Hi bakunin, it's for a C program I worte, I want to grep the results specifically.

1. What I really want to achieve is find all the lines (I can figure out the piping of the sort stuff) that start with a capital at the beginning, have a 't', 'c', or 'z' anywhere in the word (although I know that part is correct, and the letters I just picked arbitrarily as part of the test) and then has an even number in the 6th field.

2. Sample input from my program would be like:
Shawn 12345 24 567 5 10102
Matthew 12 5467 1111 9 1919
Catherine 555 1234 1 1 33142
thomas 66 7777 087 33 12121

3. Sample output:
Catherine 555 1234 1 1 33142

4. The output only deviates in that I don't get ALL the lines because I compared the file I am grepping and the file I appended to and not all were there.

So I have for the grep:

grep "^[A-Z].*[tcz].* [1-9][02468][0-9]*$" /home/public/data.txt


Thanks for the replies.
  #7 (permalink)  
Old 12-02-2005
grasper grasper is offline
Registered User
  
 

Join Date: Sep 2005
Posts: 45
Try :-

grep '^[A-Z][A-Z|a-z]*[tcz][A-Z|a-z]* .*[0-9]*[02468][0-9]*$' /home/public/data.txt

as your grep
Sponsored Links
Closed Thread

Bookmarks

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes Rate This Thread
Rate This Thread:

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
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT -4. The time now is 10:08 PM.


Powered by: vBulletin, Copyright ©2000 - 2006, Jelsoft Enterprises Limited. Language translation by Google.
vBCredits v1.4 Copyright ©2007 - 2008, PixelFX Studios
The UNIX and Linux Forums Content Copyright ©1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant URLs by vBSEO 3.2.0