Integer Validation


 
Thread Tools Search this Thread
Operating Systems Solaris Integer Validation
# 1  
Old 08-21-2014
Integer Validation

Hi

Using the below logic to check whether the value is integer or not and converting the value to decimal if not.
Code:
int_chck = sprintf(substr($i, 1, 2))
    o_cnt = 'if [ isnumber $int_chck ]; then echo $int_chck; else echo $((0x$int_chck)); fi'

Thanks,
Dines
# 2  
Old 08-21-2014
Quote:
Originally Posted by dineshnak
Hi

Using the below logic to check whether the value is integer or not and converting the value to decimal if not.
Code:
int_chck = sprintf(substr($i, 1, 2))
    o_cnt = 'if [ isnumber $int_chck ]; then echo $int_chck; else echo $((0x$int_chck)); fi'

Thanks,
Dines
The above mix of shell and awk code is not valid syntax in either.

I fixed this more than a half hour before you started this thread in my suggested awk code in your other thread after you said you wanted to treat two digits as decimal if both digits are decimal and as hex otherwise (instead of always treating the two characters as hex digits):
Code:
		if((cnt = substr($i, 1, 2)) ~ "[0-9][0-9]") {
			# Use decimal if both characters are decimal digits.
			cnt = cnt + 0
		} else {# Otherwise, use hexadecimal.
			cnt = sprintf("%d", "0x" cnt) + 0
		}

Is this not working for you?
# 3  
Old 08-27-2014
In a shell (any shell but csh/tcsh) you can use
Code:
case $val in
[0-9]|[0-9][0-9]*)
;;
*) val=`printf "%d" 0x"$val"`
;;
esac

# 4  
Old 08-27-2014
I suppose a few regex would do it even more neatly. If you parse zero, then it should be optional white space, optional sign, optional white space and then zero. If you parse not zero, does the parse need to run to the end of the string? Are parentheses OK for negative? What about commas, one radix symbol with, or without, nonzero digits after? There are so many different 'rules'!
# 5  
Old 08-27-2014
This is all related to a small part of another thread: Replace Special Character With Next Present Byte

This is a very specific awk (not shell) issue where exactly two characters are to be converted to a number using base 10 if both characters are decimal digits and using base 16 if one or both characters are hexadecimal digits.

I'm closing this thread, because the issue was resolved in the other thread.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Validation using While and IF

I am learning Shell scripting on own. I am trying to do an assignment to get details from the user like username their individual marks ,DOB and send a report in mail with the Details calculated like total and average. validate_marks() { local Value=$1 if && then return 0 else... (1 Reply)
Discussion started by: JayashreeRobin
1 Replies

2. Shell Programming and Scripting

Value validation

Hi All I am trying to validate a value using if condition requirement is need to check whether its a valid numeric value the input contains ( space, #N/A and negative and positive decimal values and Zeros) if it contains the space, I need to display the error message as space ... (15 Replies)
Discussion started by: tsurendra
15 Replies

3. Shell Programming and Scripting

Script for validation

Hi, I need a script which do below I have one process which runs 24*7 daily and I always has to monitor it now i want to have this automated such that if it stops at anytime we get a exception mail. For example i use ps -ef|grep 'etl' above command gives me the desired output. ... (7 Replies)
Discussion started by: sv0081493
7 Replies

4. Shell Programming and Scripting

Files validation

Hi, I want a script to do the following: 1)I want to find all latest files with extension *.doc and write those files to a log file which i did. my script: find *.doc -mtime -1 -ls > test.log 2) suppose if there is no such latest files extracts script should write "Server... (8 Replies)
Discussion started by: sv0081493
8 Replies

5. Shell Programming and Scripting

how to compare string integer with an integer?

hi, how to I do this? i="4.000" if ; then echo "smaller" fi how do I convert the "4.000" to 4? Thanks! (4 Replies)
Discussion started by: h0ujun
4 Replies

6. Shell Programming and Scripting

Name validation

Hi All, I need to write a small piece of code to check the following. name should contain (A-Z), spaces, hyphens & apostrophes I need to generate regular expressions for the same. Please help me out as i am not familiar with regular expressions. (1 Reply)
Discussion started by: lifzgud
1 Replies

7. Shell Programming and Scripting

Validation help

Hi, I am new to Unix shell scripting and need help to add some validation to an existing script. I've made a script that takes two argument (input) but I want the script to display an error message when nothing (null) is entered. So far I managed to validate the fist argument but fail to... (2 Replies)
Discussion started by: zen10
2 Replies

8. Shell Programming and Scripting

Data Validation

I have a comma delimited file that I need to validate the data in one two columns in. Sample File: 1234,1234,1234,DESCRIPTION,1,1,2 1234,1234,1234,DESCRIPTION,1,1,2 1234,1234,1234,DESCRIPTION,1,1,2 1234,1234,1234,DESCRIPTION,1,1,2 I need to make sure that the second column's entries are... (3 Replies)
Discussion started by: hmnetonline
3 Replies

9. Shell Programming and Scripting

Numeric Validation

Hi, How to check whether an input to a shell script contain only numeric values. Is there any way to check against the following characters. & ( ) | \ " ' < > ` I've used the following way. echo $1 | grep "\{2\}$" if then (12 Replies)
Discussion started by: sumesh.abraham
12 Replies

10. UNIX for Dummies Questions & Answers

Validation

I'm kinda new in shell scripting. How do i validate an input from a user to conform to requirement. For example, echo "Enter First Name: " read FName echo "Enter Date of Employment (dd/mm/yyyy): " read DoE If the user enters data that is alphanumeric, it accepts it. I hope i've... (1 Reply)
Discussion started by: Allenzo
1 Replies
Login or Register to Ask a Question