Perl output with negative and positive numbers


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Perl output with negative and positive numbers
# 1  
Old 12-15-2009
Perl output with negative and positive numbers

Hello,

For my weather station I have made a little perl script to put the data into cacti. The next problem I have.
I can only get positive numbers or negative numbers.

What do I do:
Though a shell scrip I call the perl script.
Shell script:
Code:
#!/bin/sh
cat data.txt | stats.pl

Perl script:
Code:
while(<STDIN>) {
chomp;
if (s/^buiten_t[ ]*[:][ ]*(\D+\.*\d+\.*\d+).*/\1/) {
print "buiten_t:$_ ";
}

Whith this input I can only get the negative numbers.
Like Buiten_t:-6.5
When I do:
Code:
if (s/^buiten_t[ ]*[:][ ]*(\d+\.*\d+).*/\1/) {

I get only the positive numbers.
Buiten_t:28.6

If I let the
Code:
if (s/^buiten_t[ ]*[:][ ]*(\D+\.*\d+\.*\d+).*/\1/) {

for the positive numnbers there is a space in the output.
The ouput is then Buiten_t: 28.6

How do I make the script the it can workt with both settings?
Output like Buiten_t:-6.5 or Buiten_t:28.6

thnx

Last edited by Scott; 12-15-2009 at 06:06 PM.. Reason: Please use code tags - and no fancy colours and fonts. Reading RE's is hard enough. Thanks.
# 2  
Old 12-15-2009
if you want to print signed numbers use printf instead of print.
# 3  
Old 12-15-2009
Hello,

Tnxs for the quick relpy,
I have changed it to printf but I stil get a space betwin the : and the number when the number is positive.
if (s/^buiten_t[ ]*[:][ ]*(\D+\.*\d+\.*\d+).*/\1/) {

rbl
PS
The data in the file looks like:
--------Buiten sensor-------------------
buiten_t : -4.0 ▒C
buiten_h : 89 %
--------Ground sensor-------------------
grond_t : -2.8 ▒C
grond_h : 89 %
-
# 4  
Old 12-15-2009
how about you try

[-+]* instead of \D+
assuming you always will have positive or negative numbers only. If you are sure that + is not used anywhere (which is the ideal case) just use [-]*

HTH,
PL


# 5  
Old 12-16-2009
Hi Daptal,

I change it to the settings and it works great tnxs,
rbl
Login or Register to Ask a Question

Previous Thread | Next Thread

8 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Splitting a file based on negative and positive numbers

I have a file that is pipe delimited and in Column F they have number values, both positive and negative. I need to take the one file I am starting with and split it into two separate files based on negative and positive numbers. What is the command to do so? And then I need to also transfer... (4 Replies)
Discussion started by: cckaiser15
4 Replies

2. UNIX for Beginners Questions & Answers

Converting negative number to positive in a file

Hi ALL, I am having semi column separated file as below. I am having negative values for the records starting with 11095. How can I convert that positive number I tried this below seems not working sed 's/ \(*\)$/ -\1/;t;s/\(.*\)-/\1/ myfile myfile... (6 Replies)
Discussion started by: arunkumar_mca
6 Replies

3. Shell Programming and Scripting

Splitting a file based on positive and negative numbers

Dear All, I have to split a tab delimited file in two files based on the presence of a positive or negative in column number 9 , for example file: A 1 5 erg + 6766 0.9889 0.9817 9.01882 erg inside upstream B 1 8 erg2 + 6766 0.9889 0.9817 -9.22 erg2 inside... (3 Replies)
Discussion started by: paolo.kunder
3 Replies

4. Shell Programming and Scripting

Find Where Values Change From Positive To Negative and viceversa

Hi all, I have a file that looks like shown below. I want to find places where the value in column 2 change from negative to positive and vice versa and return the value on column 1 at that point. I wonder if this is possible in shell script or awk .. please help! Here is the original data ... (6 Replies)
Discussion started by: malandisa
6 Replies

5. Shell Programming and Scripting

addition of both positive and negative numbers

Let, I have three numbers +00123.25 -00256.54 +00489.23 I need to sum up all those three numbers, after storing them in three variables (say var1, var2, var3). I used both expr and BC, but they didn't work for me. But, I am not able to sum up them, as I don't have any idea how to... (13 Replies)
Discussion started by: mady135
13 Replies

6. Shell Programming and Scripting

Sorting positive and negative values

Hello, I have a list like this : 1 2 -4 0 -3 -7 5 6 etc. Is there a way to remove all the positive values and print only the negative values, without using grep, sed or awk? Thanks, Prasanna (4 Replies)
Discussion started by: prasanna1157
4 Replies

7. Shell Programming and Scripting

Finding the most positive and negative value and defining its position

Hi, I have a file that looks like this: Jake 2 3 4 6 4 3 -2 -1 Jerry 1 2 3 2 1 7 -6 -1 Timmy -1 -4 -5 -8 9 3 1 I want to find the most positive and negative value for each row and also define its position (based on column #) So the output would look... (7 Replies)
Discussion started by: gisele_l
7 Replies

8. Shell Programming and Scripting

Help in adding positive & negative values in a column

Hi Gurus, In my file I have an amount field from position 74 to 87, which contains values starting with '+' as well as '-'. I want to add all positive values in a varible called "CREDIT" and all negative values in a variable "DEBIT". I know, we can use grep to identify values with positive and... (4 Replies)
Discussion started by: berlin_germany
4 Replies
Login or Register to Ask a Question