Greping numbers with dot in it


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Greping numbers with dot in it
# 1  
Old 08-12-2009
Greping numbers with dot in it

Hi,

I wanted to create a script what would take two numbers out of two files and add them together, but I got stuck with greping numbers what have a dot in it.

So far I have grepped the two lines what include the numbers I need (from both files) to a third file and from that file I try to grep only the numbers.

The third file looks like this:
Code:
aoforce.out:         *  zero point VIBRATIONAL energy  :      0.6725445  Hartree  *
job.last:                 |  total energy      =  -3842.57456191055  |

The script I have at the moment (thanks to your forums Smilie ) is like this:

Code:
grep -ho '[-0-9]\{1,20}' 

and with that script I get an output like this:

Code:
0
6725445
-3842
57456191055

But I would like an output like this:

Code:
0.6725445
-3842.57456191055



Thank you in advance,

Mario

Last edited by zaxxon; 08-12-2009 at 10:21 AM.. Reason: CODE tags
# 2  
Old 08-12-2009
Please use [code] and [/code] tags when posting code, data or logs, ty.

Are those numbers always at the same position in the files or does it vary?
# 3  
Old 08-12-2009
Quote:
Originally Posted by zaxxon
Are those numbers always at the same position in the files or does it vary?
Yes they are, but sometimes file "job.last" number varies. In my example it had four numbers before the dot but sometimes it has three or even two. Behind the dot there are always eleven numbers (and seven in aoforce.out).
# 4  
Old 08-12-2009
I thought more field wise as used in awk, example:

Code:
*  zero point VIBRATIONAL energy  :      0.6725445  Hartree  *

# where

* = field1
zero = field2
point = field3
VIBRATIONAL = field4
energy = field5
: = field6
0.6725445 = field7
Hartree = field8
* = field9

Is the number in file aoforce.out always at field7 or can this vary? Same question for the other file.
# 5  
Old 08-12-2009
Quote:
Originally Posted by zaxxon
Is the number in file aoforce.out always at field7 or can this vary? Same question for the other file.
Yes, they both are always on the same field.
# 6  
Old 08-12-2009
If it is that constant then it is very easy:
Code:
awk 'NR==FNR {print $7; next} {print $5}' aoforce.out job.last
0.6725445
-3842.57456191055

Try it out.
# 7  
Old 08-12-2009
Quote:
Originally Posted by zaxxon
Code:
awk 'NR==FNR {print $7; next} {print $5}' aoforce.out job.last
0.6725445
-3842.57456191055

It works, thank you very much Smilie !

I must get more acquaintanced with the awk command.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Ommit the numbers or any characters only at 8th columns after the dot (.).

Ommit the numbers or any characters only at 7th or 8th columns after the dot (.) . Since the group column has 1 and 2 spaces. Thanks -rw-r--r--. 1 user1 domain users 619 2017-04-13 16:16:50.284598383 +0000 aa drwxr-xr-x. 2 root root 6 2017-05-08... (8 Replies)
Discussion started by: invinzin21
8 Replies

2. Shell Programming and Scripting

How i can add via preg replace dot after numbers ?

So lets say i have file my_birthday.402.zip ho it can became my_birthday.4.0.2.zip Thank you :) (1 Reply)
Discussion started by: ZerO13
1 Replies

3. Shell Programming and Scripting

greping $2 into a list

Hi When I run this command: lsuser -a auditclasses ALL I got: user1 auditclasses=general,objects,cron,files,rbac,audit,lvm,aixpert user2 auditclasses=general,objects,cron,files,rbac,audit,lvm,aixpert user3 auditclasses=general,objects,cron,files,rbac,audit,lvm,aixpert user4... (7 Replies)
Discussion started by: iga3725
7 Replies

4. Shell Programming and Scripting

need help in greping

Hi, i have to find a string in a file and positin of the string in the file would come in some particular interval. let's say file is 1-1000 lines and string is in from 200-300line. could any one suggest me how to get make the grep search for the string in that particular portion of the... (4 Replies)
Discussion started by: tarakant
4 Replies

5. Shell Programming and Scripting

Greping in between two different lines.

I know you could use the grep "something" -A200 flag to get all the lines past your pattern. Is there a way to get all the lines in between two patterns? The -a flag will not work since all lines in between the two patterns don't have a constant number. (4 Replies)
Discussion started by: jwillis0720
4 Replies

6. Shell Programming and Scripting

greping ip address

I have this line BTSRTRGRP-448-1-1 10.162.141.118/255.255.255.254 - I need to print only the IPADDRESS and not the subnet mask. If i use cut -c30-43 I get the ipaddress, where as in some cases if the last octet is of single digit (10.162.141.8/255.255.255.254) it... (2 Replies)
Discussion started by: miltonrods
2 Replies

7. Shell Programming and Scripting

need help in greping

i have a ksh script : #!/bin/ksh TZ=`date +%Z`+24 ;a=`date +%Y-%m-%d` b=`date +"%H:%M:%S"` cd /ednadtu3/u01/pipe/logs for i in Archiver1.log do cat $i | grep $a | grep $b >> /ednadtu3/u01/pipe/naveed/Insert_Date.txt done... (4 Replies)
Discussion started by: ali560045
4 Replies

8. Shell Programming and Scripting

Greping certain lines

One of my outout is like this as shown below. How can I grep only the lines after the line "Affected files ...". No of lines after the line "Affected files ..." may vary. $ cat file_A Change 149133 by csaha@test_depo_csaha on 2006/02/08 01:40:57 *pending* This is to test change #... (5 Replies)
Discussion started by: csaha
5 Replies

9. UNIX for Dummies Questions & Answers

GREPing for Nulls

I just had a filesystem / file corruption issue on my HSP's server due to disk capacity limits and fileswapping. I discovered that certain files got corrupted when fileswapping was not successful and they ended up with a string of control characters, or what I believe to be nulls, in them. Does... (4 Replies)
Discussion started by: Dr. DOT
4 Replies

10. UNIX for Dummies Questions & Answers

Help with greping a field

Hi, Suppose I have a file as below and I just want the field Invoice Number from this file , How can I do it. /home/arbor>cat PH0034090202314800030IM-001 0Yp825XMilperra NSW 1891 189110H14V1Sp2871Yp300X Customer Service : 0000-368-81118H6.5V0Sp3130Yp50X ... (7 Replies)
Discussion started by: rooh
7 Replies
Login or Register to Ask a Question