How to compare specific digit in number?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to compare specific digit in number?
# 1  
Old 09-06-2014
How to compare specific digit in number?

Dear All,

Lets say I have a number with following format:
Code:
####.12e-##

now I want to compare place holder in position 1 and 2.
How can I do that?

Note: My number is stored in a variable say var.
example:
Code:
var=9999.12e-05


Thanks & Regards,
linuxUser_
# 2  
Old 09-06-2014
Which OS and shell are you intending to use?

What have you attempted so far?

Is there always going to be a decimal point before the comparison checking?

But most of all please show what you have tried...
# 3  
Old 09-06-2014
Hi,

Thanks for your reply.

I am using bash.
I am completely dumb in this problem. So sorry I haven't tried anything so far.

All I need is how can I compare a number based on their place holders.

example:
Lets say I want to compare 1234 with 4321 or 12w3 with 3hh5
How can I access 1st or 2nd or 3rd ... place holders in that number or something fancy like 12ew.r44.

Just give me simple example.

Most impotently, my number is stored in a variable like var(var=12ew.r44 say).
# 4  
Old 09-06-2014
Use bash's parameter substring expansion: echo ${var:6:2}.
This User Gave Thanks to RudiC For This Post:
# 5  
Old 09-06-2014
Manually in OSX 10.7.5, default bash terminal:-
Code:
Last login: Sat Sep  6 20:31:06 on ttys000
AMIGA:barrywalker~> SOME_STRING="1234ksj  dflkjsdf 9398 7492834.9198  91283kfc"
AMIGA:barrywalker~> POSITION=3
AMIGA:barrywalker~> NUMBER_OF_CHARACTERS=1
AMIGA:barrywalker~> echo "${SOME_STRING:$POSITION:$NUMBER_OF_CHARACTERS}"
4
AMIGA:barrywalker~> _

This User Gave Thanks to wisecracker For This Post:
# 6  
Old 09-06-2014
One more help. How can I remove a specific place holder form string?
Example:
Code:
0r2345.r123

so in 7th place r is there.
desired O/P
Code:
0r2345.123

# 7  
Old 09-06-2014
Manually again as before:-
Code:
Last login: Sat Sep  6 20:44:43 on ttys000
AMIGA:barrywalker~> VAR="0r2345.r123"
AMIGA:barrywalker~> echo "${VAR:0:7}${VAR:8:3}"
0r2345.123
AMIGA:barrywalker~> _

EDIT:
Remember, the string always starts at position 0, zero, NOT 1, so it is the 7th subscript or 8th character...
This User Gave Thanks to wisecracker For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Process only 4 digit odd number starting with zero

I am trying to process only IonCode_odd #'s (always 4 digits starting with zero), but the below isn't working as expected. Is there a better way? Thank you :). IonCode_0401_xxxx_xxxx_xxxx.bam IonCode_0401_xxxx_xxxx_xxxx.bam.bai IonCode_0401_xxxx_xxxx_xxxx.fastq... (2 Replies)
Discussion started by: cmccabe
2 Replies

2. Shell Programming and Scripting

awk to update specific value in file with match and add +1 to specific digit

I am trying to use awk to match the NM_ in file with $1 of id which is tab-delimited. The NM_ will always be in the line of file that starts with > and be after the second _. When there is a match between each NM_ and id, then the value of $2 in id is substituted or used to update the NM_. Each NM_... (3 Replies)
Discussion started by: cmccabe
3 Replies

3. Shell Programming and Scripting

Add tab after digit in specific field in file

I am trying to add a tab after the last digit in $3 in the input. The grep below is all I can think off. Thank you :) sed -n 's/:/&/p' input input chr1 955542 955763AGRN-6|gc=75 chr1 957570 957852AGRN-7|gc=61.2 chr1 976034 976270AGRN-9|gc=74.5 desired output chr1... (5 Replies)
Discussion started by: cmccabe
5 Replies

4. Shell Programming and Scripting

Regular expression for 6 digit number present in a line

Hello Team, i have a file test1.txt, in which i have to grep only the 6 digit number from it, Could you pls help in this. $cat test1.txt <description>R_XYZ_1.6 r370956</description> $ grep "\{6\}" test1.txt <description>R_XYZ_1.6 r370956</description> i need output as 370956. ... (3 Replies)
Discussion started by: chandana hs
3 Replies

5. Shell Programming and Scripting

Print a number up to last significant digit after decimal point

I want to write/print a number through a shell script up to its last significant digit (LSD) after the decimal point. Say, x=10.00056000000000000 I want to print x as x=10.00056. Note that x can be any thing so I cannot know the position of the LSD always. Thanks. (16 Replies)
Discussion started by: hbar
16 Replies

6. UNIX for Dummies Questions & Answers

list all files containing 4 digit number using grep

how can i list all files in my home directory that have a 4 digit id number, the line number where the id is located and the id itself not printing the entire line? (5 Replies)
Discussion started by: hobiwhenuknowme
5 Replies

7. Programming

Find out 2^n+1 , where n is a 3 digit number

I have to write a c program which takes a 3 digit number n and calculates the value of (2^n)+1 and then determines the number is prime or not. I have tried to first calculate the value of 2^n and then adding one to it and then apply the logic of prime number. but the ultimate problem is that... (7 Replies)
Discussion started by: agrawal.prachi
7 Replies

8. Programming

generating 16 digit random number in C

Hi, How can we generate 16 digit random nos in C. (10 Replies)
Discussion started by: ajaysahoo
10 Replies

9. Shell Programming and Scripting

adding a 6 digit number retaining 0s on the left

i am new to shell scripting. i want to keep on increamenting a 6 digit number. For eg. 000000 + 1 = 000001 But instead of 000001 i get only 1. How do i do this ? Pls help. (8 Replies)
Discussion started by: kanchan_cp
8 Replies

10. Shell Programming and Scripting

Extracting 10 digit number from txt files

Hi, Was wondering if you could give me an example of extracting a 10 digit number from 5 txt files using a regular expression (the number is always different ) and storing the numbers in variables Thanks C19 (9 Replies)
Discussion started by: c19h28O2
9 Replies
Login or Register to Ask a Question