grepping by digit


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting grepping by digit
# 1  
Old 09-14-2011
grepping by digit

Hi all,

Need your help here. I have a file with thousand of lines, as shown in example below


Code:
KDKJAA        98324
OIDSAJ        324
KJAJAK        100
KJKAJK        89
JOIJOI        21
JDKDJL        12
UOIUOD        10
UDUYDS        8
UIUHKK        6



I would like to grep using digit according to groups, for example

group 1

from 6 to 10
desirable output will be


Code:
UOIUOD        10
UDUYDS        8
UIUHKK        6

group 2

from 11 100

desirable output will be


Code:
KJAJAK        100
KJKAJK        89
JOIJOI        21
JDKDJL        12



group 3

101 and above

desirable output will be


Code:

KDKJAA        98324
OIDSAJ        324



I've tried to use grep -w [a-b][a-b] infile (which a and b is any digit), but i cant grep those line that I want which have different combination of digit,
for example in the group 1 (6 - 10) which have single and double digit. Any help I appreciate it

thanks in advance

# 2  
Old 09-14-2011
It might be easier using something like this for group 2 for example:
Code:
$> awk '$2 >= 11 && $2 <= 100' infile
KJAJAK        100
KJKAJK        89
JOIJOI        21
JDKDJL        12

This User Gave Thanks to zaxxon For This Post:
# 3  
Old 09-14-2011
Code:
awk '$2>=6&&$2<=10' file
awk '$2>=11&&$2<=100' file
awk '$2>=101' file

This User Gave Thanks to bartus11 For This Post:
# 4  
Old 09-14-2011
Code:
 
$ nawk '{ if($2<10){print $0 > "1.txt"}else{if($2<100){print $0 >"2.txt"}else{print $0 > "3.txt"}}}' test

 
$ cat 1.txt
UDUYDS        8
UIUHKK        6

 
$ cat 2.txt
KJKAJK        89
JOIJOI        21
JDKDJL        12
UOIUOD        10

$ cat 3.txt
A        98324
OIDSAJ        324
KJAJAK        100

This User Gave Thanks to itkamaraj For This Post:
# 5  
Old 09-14-2011
Code:
perl -ne '/(\d+)/; if ( $1 >= 6 && $1 <= 10 ){print}' temp.txt
perl -ne '/(\d+)/; if ( $1 >= 11 && $1 <= 100 ){print}' temp.txt
perl -ne '/(\d+)/; if ( $1 >= 101 ){print}' temp.txt

This User Gave Thanks to k_manimuthu For This Post:
# 6  
Old 09-14-2011
Superb!!

Thank you all,

All suggestion is working Smilie , now I got prob, to select which method is the easiest Smilie.

Thanks again
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Delta from the first digit

Thanks of your suggestions i was able to calculate the delta between some numbers in a column file with . awk 'BEGIN{last=0}{delta=$1-last; last=$1; print $0" "delta}' the file was like 499849120.00 500201312.00 500352416.00 500402784.00 500150944.00 499849120.00 500150944.00... (3 Replies)
Discussion started by: Board27
3 Replies

2. Shell Programming and Scripting

convert two digit in to single digit...

Hi Guys. My Input: ABCD 12 00 KL ABCD 12 08 DL ABCD 12 10 KK ABCD 12 04 LL ABCD 13 00 LP ABCD 13 1O LS Output: ABCD 12 0 KL ABCD 12 8 DL ABCD 12 10 KK ABCD 12 4 LL ABCD 13 0 LP (2 Replies)
Discussion started by: pareshkp
2 Replies

3. Shell Programming and Scripting

awk length of digit and print at most right digit

Have columns with digits and strings like: input.txt 3840 3841 3842 Dav Thun Tax Cahn 146; Dav. 3855 3853 3861 3862 Dav Thun Tax 2780 Karl VI., 3873 3872 3872 Dav Thun Tax 3894 3893 3897 3899 Dav Thun Tax 403; Thun 282. 3958 3959 3960 Dav Thun Tax 3972 3972 3972 3975 Dav Thun Tax... (8 Replies)
Discussion started by: sdf
8 Replies

4. Programming

[:digit:]

Hi, Does anybody know what the below means: I have a program containing the following and am trying to understand what it does: temp=$(echo $count2 | tr -cd ) Cheers Paul Please start using code tags (2 Replies)
Discussion started by: runnerpaul
2 Replies

5. Shell Programming and Scripting

script to delete one digit.

Hi User, I have a text file with a lot of customer records (over 10,000). Each record contained one field called "charge" and it must start with some space (each record may have 15 space, 17 spece, 9 space,etc, then start with <charge> and end with </charge>, in between is a value. How can I... (3 Replies)
Discussion started by: happyv
3 Replies

6. Shell Programming and Scripting

how to delete 2 digit

I have string like abcdefgh i want to delete first two digit of the string. output should be cdefgh plz give me solution (3 Replies)
Discussion started by: Gopal_Engg
3 Replies

7. Shell Programming and Scripting

Single digit date to double digit date.

I have a var storing date var=`date` Now the date is returned as Mon Feb 2 00:25:48 PST 2009 Is there any way to check the date field alone ("2" in above case) and if its a single digit then add a prefix 0 to it and store the result in same variable "var" My intention in above case is... (3 Replies)
Discussion started by: villain41
3 Replies

8. Shell Programming and Scripting

How to convert a 2 digit to 4 digit

Hi All, How can i convert a number 24 to 0024 In the same way how can i convert 123 to 0123? All this has to be done inside a script Thanks in advance JS (6 Replies)
Discussion started by: jisha
6 Replies

9. Shell Programming and Scripting

Replace one digit by two digit using sed

Folks, Is there a simple way to replace one digit by two digit using sed. Example, mydigit1918_2006_8_8_lag1.csv should be mydigit1918_2006_08_08_lag01.csv. I tried this way, but doesn't work. echo mydigit1989_2006_8_8_lag1.csv|sed 's/]/0]/' Thank you, (5 Replies)
Discussion started by: Jae
5 Replies

10. Shell Programming and Scripting

why "expr "${REPLY}" : '\([1-9][[:digit:]]*\)" can figure out whether it is a digit?

I found below script to check whether the variable is a digit in ksh. ############################ #!/bin/ksh REPLY="3f" if ]*\)'` != ${REPLY} && "${REPLY}" != "0" ]] then print "is digit\n" else print "not digit\n" fi ############################ Although it works fine, but... (6 Replies)
Discussion started by: sleepy_11
6 Replies
Login or Register to Ask a Question