Sponsored Content
Top Forums Shell Programming and Scripting Convert decimal notation to ANSI point code notation Post 302534394 by agama on Monday 27th of June 2011 08:40:22 PM
Old 06-27-2011
This should get you started modulo any issues with an older Kshell you may have installed. The script accepts either a decimal SS7 point address in the form of a b c or a decimal value from the command line and computes the alternate form. Hex values are also presented.

Code:
#!/usr/bin/env ksh
case $# in
    1)
        v=$1
        c=$(( $v % 256 ))
        v=$(( $v / 256 ))
        b=$(( $v % 256 ))
        a=$(( ($v / 256) % 256 ))
        printf "%d-%d-%d (%02x-%02x-%02x)\n" $a $b $c $a $b $c
        ;;

    3)  v=$(( (65536*$1) + (256*$2) + $3 ))
        printf "%d  %x\n" $v $v
        ;;

    *)  echo "usage: $0 a b c"
        echo "OR"
        echo "  $0 a"
        exit 1
        ;;
esac
exit

A couple of samples (t16 is my script name):
Code:
spot: t16 190 100 29
12477469  be641d
spot: t16 2 109 20  
158996  26d14
spot: t16 123456  
1-226-64 (01-e2-40)
spot: t16 980321
14-245-97 (0e-f5-61)

Have fun.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to Convert scientific notation to normal ?

Hell friends, I wrote a script gets the summation of particular column using awk. The awk output is given in scientific notation. How do I convert the scientific notation to normal. My awk syntax : awk '{sum += $2} END { printf sum }' temprep.txt Out put is like 1.5365e+07 I want it as... (2 Replies)
Discussion started by: maheshsri
2 Replies

2. Shell Programming and Scripting

Bash Scientific Notation

Hello there, I have a script that must be written in bash that has to deal with reading in values from a file (in scientific notation), and requires executing some mathematical operations with them. What is the easiest way to go about doing this/converting it to float to use | bc, etc.? ... (7 Replies)
Discussion started by: amit_57
7 Replies

3. Shell Programming and Scripting

Rounding scientific notation

Hi Friends, I have following 50,000 records in .txt file. I need to round field 3, 4, & 5 to 3 decimal places. 11|A123|-2.64216408856E01|3.64216408856E01|4.64216408856E-01 11|A123|0|-5.64216408856E01|0 11|A123|0|0|0 11|A123|-99999999|-99999999|-99999999... (4 Replies)
Discussion started by: ppat7046
4 Replies

4. IP Networking

IP Address Notation

In the IP addresses 193.32.156.0/24 and 169.183.0.0/16, what do the /16 and /24 represent? (5 Replies)
Discussion started by: JerryHone
5 Replies

5. Shell Programming and Scripting

Unsure of sed notation (nu\\t.\*)

This piece of code is in a shell script I'm trying to modify to run on my system. sed s:nu\\t.\*:"nu=0" It's clearly a substitute script which replaces nu\\t.\* with nu = 0. What exactly does nu\\t.\* demarcate though-- I thought it was just the previous nu = xxxxx (which existed and is... (3 Replies)
Discussion started by: czar21
3 Replies

6. Shell Programming and Scripting

C-script notation

Just a very brief question, but I have a script written in a C-like language possibly tcl with the line set var ... ...All I want to know, is ** multiplication or is it exponentiation? What is the ** operator? (1 Reply)
Discussion started by: chrisjorg
1 Replies

7. Shell Programming and Scripting

Get rid of awk notation

echo 0.633588 1875 | awk '{print $1 * $2 * 1024}' is there a better way to run the above command? it keeps printing out in notation and i do not want that at all. when i run the above, i get: 1.21649e+06 OS: linux language:bash (1 Reply)
Discussion started by: SkySmart
1 Replies

8. Shell Programming and Scripting

Pattern matching notation

Hello, I want to simplify two commands into one. 1st command $type_log_$instance.log.$date.0012nd command $type_log.log.$date.tar.gzInto blue brackets, How do I do to replace the pattern by a blank or _$instance ? $type_log?_$instance].log.$date.*Thank you. (13 Replies)
Discussion started by: amazigh42
13 Replies

9. Shell Programming and Scripting

Perl: scientific notation to decimal notation

hello folks, I have few values in a log which are in scientific notation. I am trying to convert into actual decimal format or integer but couldn't able to convert. Values in scientific notation: 1.1662986666666665E-4 2.0946799999999998E-4 3.0741333333333333E-6 5.599999999999999E-7... (2 Replies)
Discussion started by: scriptscript
2 Replies

10. UNIX for Advanced & Expert Users

Convert a numeric to 2 decimal point value

Hi , I have a file which contains text like A|Mau|Code|12|Detail B|Mau|Code|20|Header I want to write a command using awk which will output A|Mau|Code|12.00|Detail B|Mau|Code|20.00|Header I used a command like awk -F"|" {printf "%s|%s|%s|%.2f|%s",$1,$2,$3,$4,$5}' which does the... (4 Replies)
Discussion started by: LoneRanger
4 Replies
rlm_expr(5)							 FreeRADIUS Module						       rlm_expr(5)

NAME
rlm_expr - FreeRADIUS Module DESCRIPTION
The rlm_expr module allows the server to perform limited mathematical calculations. This module is not called directly in any section, it is invoked through the dynamic expansion of strings. For example, some NAS boxes send a NAS-Port attribute which is a 32-bit number composed of port, card, and interface, all in different bytes. To see these attributes split into pieces, you can have an entry in the 'users' file like: DEFAULT Vendor-Interface = `%{expr: %{NAS-Port} / (256 * 256)}`, Vendor-Card = `%{expr: (%{NAS-Port} / 256) %% 256}`, Vendor-Port = `%{expr: %{NAS-Port} %% 256}` where the attributes Vendor-Interface, Vendor-Card, and Vendor-Port are attributes created by either you or a vendor-supplied dictionary. The methematical operators supported by the expression module are: + addition - subtraction / division %% modulo remainder * multiplication & boolean AND | boolean OR () grouping of sub-expressions NOTE: The modulo remainder operator is '%%', and not '%'. This is due to the '%' character being used as a special character for dynamic translation. NOTE: These operators do NOT have precedence. The parsing of the input string, and the calculation of the answer, is done strictly left to right. If you wish to order the expressions, you MUST group them into sub-expression, as shown in the previous example. All of the calculations are performed as unsigned 32-bit integers. CONFIGURATION
modules { ... expr { } ... } ... instantiate { ... expr ... } SECTIONS
instantiate FILES
/etc/raddb/radiusd.conf SEE ALSO
radiusd(8), radiusd.conf(5) AUTHOR
Chris Parker, cparker@segv.org 5 February 2004 rlm_expr(5)
All times are GMT -4. The time now is 09:26 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy