using substring in shell script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting using substring in shell script
# 22  
Old 10-22-2008
how to check whether perl is installed or not ?/
how to check sed have extended RE's ......

I have tried by using the code as follows (given by cfajohnson)

Code:
#! /bin/ksh
############################
#   AFI Monitor Script
############################

. /db2/uszlad48/sqllib/db2profile
export mondir=/home/bmwdev1/script/krishna/arc
export monlog=$mondir/rcbl1.log

while read line
do
temp=${line#????????????}
trackingnum=${line%"$temp"}
echo $trackingnum
echo "--------"
done < "$monlog"

exit 0

It works fine. I am getting the following output

Code:
BEYJYWG83L
--------
BEYJYXMT4K
--------
BEYEHF93QY
--------
BEYJYTT8FQ
--------
BEYJYTT8FQ
--------
BEYJYTT8FQ
--------
BEYJYTT8FQ
--------
BEYJY2SZVL
--------
BEYJY2SXNG
--------
BEYJY2SMS3
--------
BEYJY2SMJD
--------

But how can I extract the other data/fields in following positions.

trackingnumsuffix starting from 14-15 2 bytes
tstampupdated starting from 185-210 26 bytes

Please advice how to proceed furthur.

Krishnakanth
# 23  
Old 10-22-2008
Quote:
Originally Posted by kmanivan82
If I give the following code
Code:
trackingnum=`expr substr "$line" 1 6`

I am not getting any output/error message.

You are not getting any output because there is no statement to give any output.

Add this line:

Code:
printf "trackingnum = %s\n" "$trackingnum"

What does it print?
Quote:

If I give the following code
Code:
trackingnum=`expr substr $line 1 6`

I am getting the following error message
Code:
expr: non-numeric argument

expr: non-numeric argument

expr: non-numeric argument

expr: non-numeric argument

expr: non-numeric argument


Of course that gives you errors. As I have pointed out before, It is WRONG.
# 24  
Old 10-22-2008
Quote:
Originally Posted by kmanivan82
how to check whether perl is installed or not ?/
how to check sed have extended RE's ......
Just type perl and either will either run, or won't be found. If it runs, you have perl.

I mentioned before, and suggested again after, man sed.

You must learn to use and read the man pages - there simply is no way to avoid this in *nix systems.

Your version of expr does not have the substr operator; this is a GNU extension.

Unless you install the GNU utilities, you will have to learn to work within the limitations of the older flavors of the *nix utilities on AIX.
MrC
# 25  
Old 10-23-2008
Hi all,

The following code works and I have given the complete code for archiving and purging the records which are older than 1 year.

Code:
#! /bin/ksh
############################
#   AFI Monitor Script
############################

. /db2/uszlad48/sqllib/db2profile
export mondir=/home/bmwdev1/script/krishna/arc
export monlog1=$mondir/Archive_ZB_RCBL_ERROR_MSG_MIG_`date +%Y%m%d`.log

# connect to DB
db2 "connect to r2pdev user bmwdevup using summer08"

# extract the records from the table ZB_RCBL_ERROR_MSG_MIG
db2 -x "SELECT * FROM ZB_RCBL_ERROR_MSG_MIG WHERE TIMESTAMP_UPDATED < (CURRENT TIMESTAMP - 1 YEAR) WITH UR" >> "$monlog1"
echo "extraction completed"

while read line
do
	trackingnum=`expr substr "$line" 1 12`
	trackingnumsuffix=`expr substr "$line" 27 6`
	tstmp=`expr substr "$line" 185 26`

#Delete the extracted records one by one
	db2 "DELETE FROM ZB_RCBL_ERROR_MSG_MIG WHERE TRACKING_NUM = '$trackingnum' AND TRACKING_NUM_SUFFIX = $trackingnumsuffix AND TIMESTAMP_UPDATED = '$tstmp'"

done < "$monlog1"
echo "purging completed"

# disconnect from DB2
db2 terminate

exit 0

Thank you very much to all coming forward to help me.

Krishnakanth
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Script Shell Extract substring

Hi all, Please, i'd like to extract string just before '.fr'. Here is some lines of my file: g-82.text.text1.fr.worker1 g-xx.yyyyyy.zzzz.fr.worker2 i'd like to extract this text: g-82.text.text1 g-xx.yyyyyy.zzzz Please, which command i have to use in my script shell ? ... (16 Replies)
Discussion started by: chercheur111
16 Replies

2. Shell Programming and Scripting

Substring check in IF condition in shell script

I want to check if the string has the substring in IF condition then process... i tried below but not working if ]; then ............. field can be "reserved1" ....reservedn / fillspaces1 ... fillspacesn (4 Replies)
Discussion started by: greenworld123
4 Replies

3. Shell Programming and Scripting

Need help with Korn Shell script for substring printing

Hi all, I am new to scripting. I have a file with colon separated values called mylist.txt cat mylist.txt 192.123.76.89:lmprod89 162.122.20.28:lmtstserver28 10.80.32.139:hewprod139 . . using our internal os utility (called mvsping) we need to check all these servers if they are... (6 Replies)
Discussion started by: kraljic
6 Replies

4. Shell Programming and Scripting

shell script for extracting out the shortest substring from the given starting and en

hi all, i need an urgent help for writing a shell script which will extract out and print a substring which is the shortest substring from the given string where first and last character of that substring will be given by the user. for e.g. if str="abcdpqracdpqaserd" now if the user gives 'a'... (18 Replies)
Discussion started by: pankajd
18 Replies

5. Shell Programming and Scripting

Substring in shell script

I need a help in getting substring of each line in input file. I am writing a script that will read a file from a directory on daily basis, I mean everyday a new file will be stored in this directory, it will replace old file. I have to read contents of this file, the contents will be as... (5 Replies)
Discussion started by: jyotib
5 Replies

6. Shell Programming and Scripting

help for shell script of finding shortest substring from given string by user

please give me proper solution for finding a shortest substring from given string if string itself and first char and last char of that substr are also given by user if S="dpoaoqooroo" and FC="o" and LC="o",then shortest substr is "oo" and rest of the string is "dpoaoqroo" i have code but it is... (1 Reply)
Discussion started by: pankajd
1 Replies

7. UNIX for Dummies Questions & Answers

Substring in Shell Script

Hi I'm new to Shell scripting. Someone please help me in extracting a portion of string from a file. Eg: I got a file like, Readme.txt and has the following name value pairs input1 : /homes/input1/ input2 : /homes/input2/ ... ... When I give the parameter input1, the value... (3 Replies)
Discussion started by: smartbuddy
3 Replies

8. UNIX for Dummies Questions & Answers

Substring function in UNIX shell script

Hi All, Following is the output of a find commnd to locate log directories for various projects of UNIX AIX box: /home/hbinz6pf/projectlibs/dpr_pfsdw_dev/&PH& /opt/tools/ds/Template/&PH& /data/ds/ms/hmsdw/projectlibs/dpr_ms_dev/&PH& /data/ds/riskmi/projectlibs/dpr_riskmi_dev/&PH&... (5 Replies)
Discussion started by: csrazdan
5 Replies

9. Shell Programming and Scripting

Substring function in UNIX shell script

Hi All, Following is the output of a find commnd to locate log directories for various projects of UNIX AIX box: /home/hbinz6pf/projectlibs/dpr_pfsdw_dev/&PH& /opt/tools/ds/Template/&PH& /data/ds/ms/hmsdw/projectlibs/dpr_ms_dev/&PH& /data/ds/riskmi/projectlibs/dpr_riskmi_dev/&PH&... (1 Reply)
Discussion started by: csrazdan
1 Replies

10. Shell Programming and Scripting

Substring in C shell script?

i am a new user of C-shell script. I want to know can i create a substring in a string. That means when i got a variable $input = "it is number 2" I want to get the "2" to be another variable. Can i do that in C-shell and how to ? Thank you so much dinodash (0 Replies)
Discussion started by: dinodash
0 Replies
Login or Register to Ask a Question