sum two numbers on a grep commande with the parameter -n


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting sum two numbers on a grep commande with the parameter -n
# 1  
Old 05-02-2009
Lightbulb sum two numbers on a grep commande with the parameter -n

Hello,

I want to know how i can sum two numbers in a grep command with the parameter -n.
this code return line number and the line who have the "pattern" :
[
cat fileName | grep -i "pattern" -n $(cat fileName | grep -i "pattern" | sed -n 's/^\([0-9]*\)[:].*/\1/p')
]

but now i want to suw [$(cat fileName | grep -i "pattern" | sed -n 's/^\([0-9]*\)[:].*/\1/p')] with 1 to have the next line:
[$(cat fileName | grep -i "pattern" | sed -n 's/^\([0-9]*\)[:].*/\1/p')] + 1 : it can't work.


Thanks you
# 2  
Old 05-03-2009
Can you explain what exactly you are trying to accomplish here? Also, if you paste the input file sample and the expected o/p, it will be easier for us to help.

grep with an option of n prints the line number with the o/p line. and you want to use this line number to do something?

If you are trying to o/p the next line where a pattern matches, you can try something like this
Code:
 awk '$0 ~ /pattern/{getline;print;exit}' filename


cheers,
Devaraj Takhellambam
# 3  
Old 05-03-2009
My idea is to extract the line number and add this line with +1.
An example with this line who is in the file "file.dat":
"3 :reserved xxxxxxxxxxxxxxxxxxxxxxxx"
"4 :xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
"5 :reserved xxxxxxxxxxxxxxxxxxxxxxxxxx"
"6 :xjlkllssssssssssssssssssssssssssssssshh"

To extract the line number, i do that :
[cat file.dat | grep -i "reserved" -n $(cat file.dat | grep -i "reserved" | sed -n 's/^\([0-9]*\)[:].*/\1/p')] and i have the line number only (3 and 5).

The next step that i want , it's to make the same thing with the same command but add "+1" to the extracted number of the line and to print lines 4 and 6.
[cat file.dat | grep -i "reserved" -n $(cat file.dat | grep -i "reserved" | sed -n 's/^\([0-9]*\)[:].*/\1/p') + 1 ] but it don't work.

Thanks you.
# 4  
Old 05-03-2009
It's not clear what you're trying to achieve, better is to provide an example of the input file and the desired output.

Regards
# 5  
Old 05-03-2009
Quote:
Originally Posted by samara80
My idea is to extract the line number and add this line with +1.
An example with this line who is in the file "file.dat":
"3 :reserved xxxxxxxxxxxxxxxxxxxxxxxx"
"4 :xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
"5 :reserved xxxxxxxxxxxxxxxxxxxxxxxxxx"
"6 :xjlkllssssssssssssssssssssssssssssssshh"

To extract the line number, i do that :
[cat file.dat | grep -i "reserved" -n $(cat file.dat | grep -i "reserved" | sed -n 's/^\([0-9]*\)[:].*/\1/p')] and i have the line number only (3 and 5).

The next step that i want , it's to make the same thing with the same command but add "+1" to the extracted number of the line and to print lines 4 and 6.
[cat file.dat | grep -i "reserved" -n $(cat file.dat | grep -i "reserved" | sed -n 's/^\([0-9]*\)[:].*/\1/p') + 1 ] but it don't work.
Here's one way:

Code:
$
$
$ cat file.dat
3 :reserved xxxxxxxxxxxxxxxxxxxxxxxx
4 :xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
5 :reserved xxxxxxxxxxxxxxxxxxxxxxxxxx
6 :xjlkllssssssssssssssssssssssssssssssshh
$
$ awk -F" :" '/reserved/ {getline; print $1}' file.dat
4
6
$

and here's another:

Code:
$
$ perl -ne '{next if /reserved/; split/ :/; print $_[0],"\n"}' file.dat
4
6
$

HTH,
tyler_durden
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Sum even numbers from 1 to 100

I need help with this assignment. I'm very new to using UNIX/LINUX, and my only previous experience with programing anything is using python. We are writing scripts using vim, and this one I'm stumped on. "Write a shell script that finds and display the sum of even positive integers from 0 to... (5 Replies)
Discussion started by: Nastybutler
5 Replies

2. Shell Programming and Scripting

Sum of numbers in row

Need help in coding: File with several rows incl. numbers like 1 2 3 4 5 6 7 8 ... How can i build the sum of each row seperately? 10 26 ... Thx for help. Please use CODE tags as required by forum rules! (13 Replies)
Discussion started by: smitty11
13 Replies

3. Shell Programming and Scripting

Sum up numbers in a for loop

Hi i have to calculate some numbers, column by column. Herfore i used a for-loop.. for i in {4..26};do awk -F"," '{x'$i'+=$'$i'}END{print '$i'"\t" x'$i'}' file.tmp;done ----- printout ----- 4 660905240 5 71205272 6 8.26169e+07 7 8.85961e+07 8 8.60936e+07 9 7.42238e+07 10 5.6051e+07... (7 Replies)
Discussion started by: IMPe
7 Replies

4. Shell Programming and Scripting

Sum of numbers in three or more files

I have files : cat file1 15 88 44 667 33 4cat file2 445 66 77 3 56 (12 Replies)
Discussion started by: Natalie
12 Replies

5. Shell Programming and Scripting

Sum Numbers from different files

Hi All, I need to print the sum of numbers from different files. Input files: file1.out 10 20 30 file2.out 10 20 30 (5 Replies)
Discussion started by: saint2006
5 Replies

6. Shell Programming and Scripting

getting the sum of numbers

I basically have a file where I had to do a bunch of greps to get a list of numbers example: a file called numbers.txt 10000 10000 superman 10000 batman 10000 10000 grep '100' * | 10000 10000 10000 10000 10000 (2 Replies)
Discussion started by: zerofire123
2 Replies

7. Shell Programming and Scripting

Finding the sum of two numbers

cat *.out |grep "<some text>" | awk '{print $6}' For ex,This will reutrn me 11111 22222 is it possible to add these two numbers in the above given command itself?I can write this to a file and find the sum. But I prefer to this calculation in the above given line itself. Any... (3 Replies)
Discussion started by: prasperl
3 Replies

8. Shell Programming and Scripting

Printing the sum of a numbers

Hi I am writing a script that will produce the total of the digits with in the number. Here is the script. -bash# cat Sum_Digits if then echo "You must enter at least two digits" echo "If you enter more than two digits after the base line program this script will print the sum of the... (4 Replies)
Discussion started by: chrs0302
4 Replies

9. Shell Programming and Scripting

sum numbers from stdout

hello im looking for short way to sum numbers from stdout the way i found to do it is to long for me i wander if there is shorter way to do it ok it 2 stage action this will make the list of number in to file sum.txt grep -c include *.c | awk '{l=split($0,a,":");print a;}' > sum.txt this... (1 Reply)
Discussion started by: umen
1 Replies

10. Shell Programming and Scripting

how to sum numbers in column

Hi, i want to sum all nubers in one column. Example: 12.23 11 23.01 3544.01 I'm trying to do this in awk, but it doesn't work properly. Seems like awk is summing only integers, for example: 12 11 23 3544 It cuts off numbers after dot. I used this command: akw /text/ file.txt |nawk... (1 Reply)
Discussion started by: iahveh
1 Replies
Login or Register to Ask a Question