Sponsored Content
Top Forums Shell Programming and Scripting How to check a column contain numeric or char data type ?? Post 302091662 by jim mcnamara on Wednesday 4th of October 2006 10:40:12 AM
Old 10-04-2006
try a shell script like this - you need to order the isnumeric and isalpha tests
per your requirements, I have them as col1 + col4 numeric col2 + col4 alpha:
Code:
#!/bin/ksh

isnumeric()
{
	result=$(echo "$1" | tr -d '[[:digit:]]')
	echo ${#result}
}

isalpha()
{
	result=$(echo "$1" | tr -d '[[:alpha:]]')
	echo ${#result}
}
col1=""
col2=""
col3=""
col4=""
let retval=1

while read record
do
	echo "$record" | awk -F"|" '{print $1, $2, $3, $4 }' | read col1 col2 col3 col4
	
	if [[ $(isnumeric "$col1") -eq 1 && $(isnumeric "$col4") -eq 1 ]]; then
		 retval=1
	else
		 retval=0
		 break
	fi

	if [[ $(isalpha "$col2") -eq 1 && $(isalpha "$col3") -eq 1 ]]; then
		 retval=1
	else
		 retval=0
		 break
	fi
done  < filename

if [[ $retval -eq 1 ]]; then
	echo "test is okay"
else
	echo "test failed for this row:"
	echo "$col1 $col2 $col3 $col4"
fi

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

how to check the file data type(ascii or binary)

hi i am receiving a file from one system , i have to verify the format of the file data i.e whether the data is in acii format or binary format, please help thanks in advance satya (1 Reply)
Discussion started by: Satyak
1 Replies

2. Programming

check the given string is numeric or not.

Hi, how to check the given string is numeric or not , without converting ( using strtol...). for ex: if string is C01 - non-numeric data if string is 001 - numeric data TIA (11 Replies)
Discussion started by: knowledge_gain
11 Replies

3. Shell Programming and Scripting

Converting Char to Numeric

HI, Here I have the following output and want to do some mathematical calculation on C2 & C3 column. c1 c2 c3 c4 c5 l1 1-oct 12:30:01 12:35 abc xyz l2 1-oct 14:20:01 14:35 def ... (5 Replies)
Discussion started by: dear_abhi2007
5 Replies

4. Emergency UNIX and Linux Support

AWK - check column data

Hi, I have a data in a file . Infile: 1 e 1.2 1.6 5 f 2.3 3.6 3 g 1.2 2.6 6 i 2.3 3.6 8 o 1.2 3.6 output: 1 e 1.2 1.6 5 f 2.3 3.6 3 g 1.1 2.6 6 i 2.2 3.5 8 o 1.0 3.4 (17 Replies)
Discussion started by: vasanth.vadalur
17 Replies

5. Shell Programming and Scripting

How to check if a column is having a numeric value or not in a file?

Hi, I want to know, how we find out if a column is having a numeric value or not. For Example if we have a csv file as ASDF,QWER,GHJK,123,FGHY,9876 GHTY,NVHR,WOPI,623,HFBS,5386 we need to find out if the 4th and 6th column has muneric value or not. Thanks in advance Keerthan (9 Replies)
Discussion started by: keerthan
9 Replies

6. UNIX for Advanced & Expert Users

Check EOF char in Unix. OR To check file has been received completely from a remote system

Advance Thanks. (1) I would like to know any unix/Linux command to check EOF char in a file. (2) Or Any way I can check a file has been reached completely at machine B from machine A. Note that machine A ftp/scp the file to machine B at unknown time. (5 Replies)
Discussion started by: alexalex1
5 Replies

7. Shell Programming and Scripting

How to check for a Numeric Value?

Using shell, I have a variable, how can I check that variable for a numeric value such as "41.0"? My program needs to do one things if the numeric value is found, and another if something else such as a string of letter is found. is there a specific character that denotes a numeral? The... (2 Replies)
Discussion started by: chagan02
2 Replies

8. Shell Programming and Scripting

check if a string is numeric

I checked all the previous threads related to this and tried this. My input is all numbers or decimals greater than zero everytime. I want to check the same in the korn shell script. Just validate the string to be numeric. This is what I am doing. var="12345" if ) -o "$var" !=... (14 Replies)
Discussion started by: megha2525
14 Replies

9. Shell Programming and Scripting

Parsing of Char and Numeric in a file

Hi All, i'm working on some report and currently have this plain text file generated. server_name1|sdfd1deal | 1048572| 1040952| 99| 207| 1| 1 server_name1|dba1dbs | 83886048| 40730796| 48| 5762| 22764| 8... (4 Replies)
Discussion started by: fedora132010
4 Replies

10. Shell Programming and Scripting

Need to add a numeric & special char to end of the first line

Need to add a numeric & special char to end of the first line Existing file: 12-11-16|11 2016 Jan 12:34:55|03:55| 13-10-16|10 2016 Jan 12:34:55|03:55|12-11-16|11 2016 Jan 12:34:55|03:55| 14-10-16|19 2016 Jan 12:34:55|03:55|13-11-16|11 2016 Jan 12:34:55|04:55| 15-10-16|18 2016 Jan... (11 Replies)
Discussion started by: Joselouis
11 Replies
Smokeping_probes_EchoPingChargen(3)				     SmokePing				       Smokeping_probes_EchoPingChargen(3)

NAME
Smokeping::probes::EchoPingChargen - an echoping(1) probe for SmokePing OVERVIEW
Measures TCP chargen (port 19) roundtrip times for SmokePing. SYNOPSIS
*** Probes *** +EchoPingChargen binary = /usr/bin/echoping forks = 5 offset = 50% step = 300 # The following variables can be overridden in each target section extraopts = -some-letter-the-author-did-not-think-of fill = A ipversion = 4 pings = 5 priority = 6 size = 510 timeout = 1 tos = 0xa0 waittime = 1 # [...] *** Targets *** probe = EchoPingChargen # if this should be the default probe # [...] + mytarget # probe = EchoPingChargen # if the default probe is something else host = my.host extraopts = -some-letter-the-author-did-not-think-of fill = A ipversion = 4 pings = 5 priority = 6 size = 510 timeout = 1 tos = 0xa0 waittime = 1 VARIABLES
Supported probe-specific variables: binary The location of your echoping binary. Default value: /usr/bin/echoping forks Run this many concurrent processes at maximum Example value: 5 Default value: 5 offset If you run many probes concurrently you may want to prevent them from hitting your network all at the same time. Using the probe- specific offset parameter you can change the point in time when each probe will be run. Offset is specified in % of total interval, or alternatively as 'random', and the offset from the 'General' section is used if nothing is specified here. Note that this does NOT influence the rrds itself, it is just a matter of when data acqusition is initiated. (This variable is only applicable if the variable 'concurrentprobes' is set in the 'General' section.) Example value: 50% step Duration of the base interval that this probe should use, if different from the one specified in the 'Database' section. Note that the step in the RRD files is fixed when they are originally generated, and if you change the step parameter afterwards, you'll have to delete the old RRD files or somehow convert them. (This variable is only applicable if the variable 'concurrentprobes' is set in the 'General' section.) Example value: 300 Supported target-specific variables: extraopts Any extra options specified here will be passed unmodified to echoping(1). Example value: -some-letter-the-author-did-not-think-of fill The "-f" echoping(1) option. Example value: A ipversion The IP protocol used. Possible values are "4" and "6". Passed to echoping(1) as the "-4" or "-6" options. Example value: 4 pings How many pings should be sent to each target, if different from the global value specified in the Database section. Note that the number of pings in the RRD files is fixed when they are originally generated, and if you change this parameter afterwards, you'll have to delete the old RRD files or somehow convert them. Example value: 5 priority The "-p" echoping(1) option. Example value: 6 size The "-s" echoping(1) option. Example value: 510 timeout The "-t" echoping(1) option. Example value: 1 Default value: 5 tos The "-P" echoping(1) option. Example value: 0xa0 waittime The "-w" echoping(1) option. Example value: 1 AUTHORS
Niko Tyni <ntyni@iki.fi> NOTES
The udp variable is not supported. SEE ALSO
Smokeping::probes::EchoPing 2.6.8 2013-03-17 Smokeping_probes_EchoPingChargen(3)
All times are GMT -4. The time now is 12:00 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy