I am reading file 1 line by line , and look for the string jjjj and then read the line in file 2 with jjjj
I want to get the flaoting point difference for colum2 and column 3 of file1 and file2, if both has the same column1.
I have the snippet code like this
while read line
do
name=`echo $line | awk ''{ print $1 }`
matchline=`grep -m 1 -e"$name" file2`
f1col2=`echo $line | awk ''{ print $2 }`
f2col2=`echo $matchline | awk ''{ print $2 }`
diffcol2=$(( $f1col2 - $f2col2 ))
echo $diffcol2
done < file1
However I get error at the line diffcol2=$(( $f1col2 - $f2col2 )),
10.345 - 10.305 : syntax error in expression (error token is ".10.345 - 10.305 ")
Do I ahve to do anything special for floating point substarction .
I tried bracing the variable like the following , but still di not work
diffcol2=$(( ${f1col2} - ${f2col2} ))
wouldn't it be easier to do it with 'awk':
Code:
nawk '
FNR==NR { arr[$1]=$2; next }
$1 in arr { printf("%s %f\n", arr[$1] - $2) }
' file1 file2
HI all,
Can someone help me how to use or assign a floating point value in a variable in a unix script. I dont know how to use it.
for example, I am to assign a variable VAR1 a value of 2.34 and evaluate if a certain vaue is greater or less than to it.
That is,
if var1 > 2.13 will do... (7 Replies)
Hi,
see the simple code below
double i;
i=8080.9940;
printf(" val :%.30f\n",i);
output i m getting is
val :8080.993999999999700000000000000
when i m expecting
val :8080.9940
what happens?how can i avoid it?
thanks... (2 Replies)
Hi !
I'm looking for a way to transform certain floating point numbers in a one-line, variable length file to integers.
I can do this in a crude way with sed :
sed -e 's/0\.\(\):/\1:/g' -e 's/0\.0\(\):/\1:/g' -e 's/1\.000:/100:/g' myfile ... but this doesn't handle the rounding correctly.
... (3 Replies)
Hi I'm not using Korn93 but want to use floating point variable.
Is there any solution to do that ?
thx for help.
---------- Post updated at 02:28 PM ---------- Previous update was at 12:38 PM ----------
I have the following peace of code:
for n in `cat log.January.1.array`
do
... (3 Replies)
Anyone help me i cant found the error of floating point
if needed, i added the code complete
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
typedef struct
{
int hh;
int mm;
int ss;
char nom;
int punt;
}cancion;
typedef struct... (9 Replies)
I need to add leading zeros in a floating point numbers.
The length of the number should be 13 including decimal.
The input number is changing so number of leading zeros is not fix.
For example
input output
216.000 000000216.000
1345.000 000001345.000
22345.500 ... (4 Replies)
Hi all,
I'm struggling :wall: to make a an if statement on two variables in scientific format.
e.g.
a=1.23e+01
b=3.21e+02
I know that it can be done with bc if the variable are not in scientific format.
But what to do in this case???
Thank you, (3 Replies)
I have started using bash but this script which I am working on it, is in c chell. So here is my simple problem:
set x = 0.4124\0.234
echo $x
0.4124.0.234
Same operation in Bash gives me correct result in my terminal. So there is something with my c shell that is causing this behaviour.... (8 Replies)
Hi Everyone ,
Need a simple code here , I Have a number in a variable say $a=145.67 . This value changes everytime loop begins .
I need to print a specific message as shown below when the above variable lies in a specific range i.e.
1.if $a lies within 100 and 200 , it should display... (2 Replies)
Discussion started by: robert89
2 Replies
LEARN ABOUT OPENDARWIN
cat
CAT(1) BSD General Commands Manual CAT(1)NAME
cat -- concatenate and print files
SYNOPSIS
cat [-benstuv] [file ...]
DESCRIPTION
The cat utility reads files sequentially, writing them to the standard output. The file operands are processed in command-line order. If
file is a single dash ('-') or absent, cat reads from the standard input. If file is a UNIX domain socket, cat connects to it and then reads
it until EOF. This complements the UNIX domain binding capability available in inetd(8).
The options are as follows:
-b Number the non-blank output lines, starting at 1.
-e Display non-printing characters (see the -v option), and display a dollar sign ('$') at the end of each line.
-n Number the output lines, starting at 1.
-s Squeeze multiple adjacent empty lines, causing the output to be single spaced.
-t Display non-printing characters (see the -v option), and display tab characters as '^I'.
-u The -u option guarantees that the output is unbuffered.
-v Display non-printing characters so they are visible. Control characters print as '^X' for control-X; the delete character (octal
0177) prints as '^?'. Non-ASCII characters (with the high bit set) are printed as 'M-' (for meta) followed by the character for the
low 7 bits.
DIAGNOSTICS
The cat utility exits 0 on success, and >0 if an error occurs.
EXAMPLES
The command:
cat file1
will print the contents of file1 to the standard output.
The command:
cat file1 file2 > file3
will sequentially print the contents of file1 and file2 to the file file3, truncating file3 if it already exists. See the manual page for
your shell (i.e., sh(1)) for more information on redirection.
The command:
cat file1 - file2 - file3
will print the contents of file1, print data it receives from the standard input until it receives an EOF ('^D') character, print the con-
tents of file2, read and output contents of the standard input again, then finally output the contents of file3. Note that if the standard
input referred to a file, the second dash on the command-line would have no effect, since the entire contents of the file would have already
been read and printed by cat when it encountered the first '-' operand.
SEE ALSO head(1), more(1), pr(1), sh(1), tail(1), vis(1), zcat(1), setbuf(3)
Rob Pike, "UNIX Style, or cat -v Considered Harmful", USENIX Summer Conference Proceedings, 1983.
STANDARDS
The cat utility is compliant with the IEEE Std 1003.2-1992 (``POSIX.2'') specification.
The flags [-benstv] are extensions to the specification.
HISTORY
A cat utility appeared in Version 1 AT&T UNIX. Dennis Ritchie designed and wrote the first man page. It appears to have been cat(1).
BUGS
Because of the shell language mechanism used to perform output redirection, the command ``cat file1 file2 > file1'' will cause the original
data in file1 to be destroyed!
BSD September 15, 2001 BSD