Help with String concatenation


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Help with String concatenation
# 1  
Old 07-04-2013
Help with String concatenation

I have a script which is migrated from AIX to Linux & now while running it is no able to concatenate string values
The string concatenation step under while loop is not displaying desired result
Please find below the piece of code:
Code:
while read EXT_FILE ; do
EXT_FILE=$EXT_FILE.ext.sent
echo "Extract file $EXT_FILE validated." >> $LOG_FILE
if [ -f $EXT_FILE ]
then
echo "Deleting file $EXT_FILE." >> $LOG_FILE
rm $EXT_FILE
# echo "SQL Command: EXECUTE x0uaroperator.purge_valid('$EXT_FILE')" >> $LOG_FILE
sqlplus $ORAUSER/$ORAPWD@$DATABASE << SQLEOF >> $LOG_FILE
EXECUTE x0uaroperator.purge_valid('$EXT_FILE');
EXIT SQL.SQLCODE;
SQLEOF
EXIT_STAT=$?
echo "Validated $EXT_FILE SQL Exit Code: " $EXIT_STAT >> $LOG_FILE
else
echo "Extract file $EXT_FILE not found." >> $LOG_FILE
fi
done < $WORK

The echo displays following line .ext.sent validated.6
The desired echo output is Extract file 9000008 validated
It is unable to suffix .ext.sent to the EXT_FILE(value of EXT_FILE is 9000008 and it comes from a list)

Please suggest how to suffix .ext.sent to the EXT_FILE

Thanks,
Preeti

Last edited by Franklin52; 07-04-2013 at 12:56 PM.. Reason: Please use code tags
# 2  
Old 07-04-2013
which linux are you using? try any of the below

Code:
 
EXT_FILE=${EXT_FILE}.ext.sent
EXT_FILE=${EXT_FILE}".ext.sent"
EXT_FILE=$EXT_FILE".ext.sent"

# 3  
Old 07-04-2013
Thanks

It is GNU/Unix

I tried all of the above syntax. Still not working

Thanks,
Preeti
# 4  
Old 07-04-2013
can you run your script as sh -x script name? post the output
# 5  
Old 07-04-2013
Please find the output below:

Code:
 
-sh-4.1$ sh -x ext_valid_new.S ausa
+ export ORACLE_BASE=/opt/oracle
+ ORACLE_BASE=/opt/oracle
+ export ORACLE_OWNER=oracle
+ ORACLE_OWNER=oracle
+ export HOME=/purge
+ HOME=/purge
+ export ORACLE_HOME=/opt/oracle/product/11.2.0.3/dbhome_1
+ ORACLE_HOME=/opt/oracle/product/11.2.0.3/dbhome_1
+ export ORACLE_SID=uad1
+ ORACLE_SID=uad1
+ export TMP=/tmp
+ TMP=/tmp
+ export TMPDIR=/tmp
+ TMPDIR=/tmp
+ export TNS_ADMIN=/opt/oracle/product/11.2.0.3/dbhome_1/network/admin
+ TNS_ADMIN=/opt/oracle/product/11.2.0.3/dbhome_1/network/admin
+ export ORACLE_ADMIN=/opt/oracle/admin
+ ORACLE_ADMIN=/opt/oracle/admin
+ export LIBPATH=/opt/oracle/product/11.2.0.3/dbhome_1/lib:/opt/oracle/product/11.2.0.3/dbhome_1/n          etwork/lib
+ LIBPATH=/opt/oracle/product/11.2.0.3/dbhome_1/lib:/opt/oracle/product/11.2.0.3/dbhome_1/network/          lib
+ export NLS_LANGUAGE=AMERICAN_AMERICA.WE8ISO8859P1
+ NLS_LANGUAGE=AMERICAN_AMERICA.WE8ISO8859P1
+ export NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1
+ NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1
+ export LD_LIBRARY_PATH=/opt/CA/SharedComponents/lib:/opt/oracle/product/11.2.0.3/dbhome_1/lib:/u          sr/lib
+ LD_LIBRARY_PATH=/opt/CA/SharedComponents/lib:/opt/oracle/product/11.2.0.3/dbhome_1/lib:/usr/lib
+ export LIBPATH=/opt/oracle/product/11.2.0.3/dbhome_1/lib:/opt/oracle/product/11.2.0.3/dbhome_1/n          etwork/lib:/opt/oracle/product/11.2.0.3/dbhome_1/lib
+ LIBPATH=/opt/oracle/product/11.2.0.3/dbhome_1/lib:/opt/oracle/product/11.2.0.3/dbhome_1/network/          lib:/opt/oracle/product/11.2.0.3/dbhome_1/lib
+ export ADMIN_HOME=/opt/oracle/admin
+ ADMIN_HOME=/opt/oracle/admin
+ export AGENT_HOME=/opt/oracle/product/agent11g
+ AGENT_HOME=/opt/oracle/product/agent11g
+ export SCRIPT_DIR=/opt/oracle/admin/scripts
+ SCRIPT_DIR=/opt/oracle/admin/scripts
+ export BS_DIR=/opt/oracle/admin/backup
+ BS_DIR=/opt/oracle/admin/backup
+ export LOG_DIR=/opt/oracle/admin/logs
+ LOG_DIR=/opt/oracle/admin/logs
+ export ORATAB=/etc/oratab
+ ORATAB=/etc/oratab
+ export PATH=/usr/bin:/etc:/usr/sbin:/usr/local/bin:/usr/local/bin/nmon:/purge:/purge/bin:/opt/or          acle/product/11.2.0.3/dbhome_1/bin:/usr/ucb:/usr/bin/X11:/sbin:/usr/lib64/qt-3.3/bin:/usr/local/bi          n:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/oracle/product/11.2.0.3/dbhome_1/bin:.
+ PATH=/usr/bin:/etc:/usr/sbin:/usr/local/bin:/usr/local/bin/nmon:/purge:/purge/bin:/opt/oracle/pr          oduct/11.2.0.3/dbhome_1/bin:/usr/ucb:/usr/bin/X11:/sbin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:          /usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/oracle/product/11.2.0.3/dbhome_1/bin:.
+ OPCO=ausa
+ LOG_FILE=/purge/ausa/logs/ext_valid.log
+ EXT_PATH=/purge/ausa/extracts
+ MF_FILE=extvalid.lst
+ BACK1=extvalid.bk1
+ BACK2=extvalid.bk2
+ BACK3=extvalid.bk3
+ WORK=extvalid.wrk
+ ORAUSER=s0uaroperator
+ ORAPWD=s0uaroperator
+ echo ' '
++ date
+ echo 'Starting Purge/Extract FTP Validation at Thu Jul  4 06:22:35 EDT 2013 ....'
+ echo 'Command: ausa'
+ DATABASE=UAD1
+ cd /purge/ausa/extracts
+ echo 'Path : /purge/ausa/extracts'
Path : /purge/ausa/extracts
+ echo 'MF_File is : extvalid.lst'
MF_File is : extvalid.lst
+ '[' -f extvalid.wrk ']'
+ rm extvalid.wrk
+ '[' -f extvalid.lst ']'
+ echo 'Extract validation file extvalid.lst not found.'
+ exit 2

# 6  
Old 07-04-2013
I'd bet the file being read contains CR (0x0D, <carriage return>, ^M) terminators.
This User Gave Thanks to RudiC For This Post:
# 7  
Old 07-05-2013
Thanks, You are right

when I run the script via sh -x, I find \r after the value and that is causing the problem.

Due to \r it is unable to suffix .ext.sent

Could you suggest how to remove that.

Thanks,
Preeti
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Group by and string concatenation

Hi, I was trying to work on a file which had the following data format 1 hi 1 this 1 is 1 john 2 hello 3 test 3 case the expected output file is the below 1 hi, this, is, john 2 hello 3 test, case I tried using awk or while read, but I couldnt... (13 Replies)
Discussion started by: karthikbhuvana
13 Replies

2. Shell Programming and Scripting

String concatenation problem

Hi there, I'm writing a basic script where I want to make a string of 2 numeric fields from a file, which I have done, but the behavior is rather confusing. I have a file of random values such as: 1 2 3 4 5 6 7 8 9 10 and my awk code is: BEGIN { FS = " " } { str = str $1 $2 } END {... (7 Replies)
Discussion started by: HMChadwick
7 Replies

3. Shell Programming and Scripting

String concatenation

Hi, I have two files. cat file.txt a b c d cat file1.txt j k l m I need the output as a:j (12 Replies)
Discussion started by: nareshkumar522
12 Replies

4. Shell Programming and Scripting

String / Variable Concatenation

Hi all, I'm trying to build a variable name automatically through a for loop for a script I'm working on, basically I want to build the variables named: $JVM_HOME0 or $JVM_HOME1 so that I can loop through some file copy/deletes and a server restart once completed. With the code below, I get this... (3 Replies)
Discussion started by: hydroponx
3 Replies

5. Shell Programming and Scripting

String concatenation problems

#! /bin/csh set tt=12345_UMR_BH452_3_2.txt set rr=`echo $tt | cut -d_ -f1` set rr1=welcome set ff=$rr $rr1 echo $ff why $ff returned only 12345 and not 12345welcome? thanks (2 Replies)
Discussion started by: jdsignature88
2 Replies

6. Shell Programming and Scripting

String/Variable Concatenation

Hello, Trying to concatenate the following using bourne shell: # !/bin/bash # this works in bash shell e.g. get the results I am expecting fnTmp=C$cindex.$station_0.$station_1.$station_3.$ts.tmp # # under !/bin/sh # the results are not the same Any assistance would be... (8 Replies)
Discussion started by: LAVco
8 Replies

7. Shell Programming and Scripting

String Concatenation

Hi All, I need to concatenate the values in the array into a variable. Currently the code is : for (( i=1 ; i <= $minCount ; i++ )) do var="${var}""${sample_file}" done The output is : /tmp/1/tmp/2/tmp/3/tmp/4/tmp/5/tmp/6/tmp/7/tmp/8/tmp/9/tmp/10 I need a space between... (1 Reply)
Discussion started by: sh_kk
1 Replies

8. Shell Programming and Scripting

String concatenation with spaces

Hi, I have a variable $ID=40 and I need to build a string like 40 40 40 40 40 40 so repeating ID 'n' times separated by spaces. Any help? Thanks Sarah (2 Replies)
Discussion started by: f_o_555
2 Replies

9. Shell Programming and Scripting

Help concatenation string and variable

Hello, in my script i have this lines of code in a while cycle: .. let j=i+1 t_prod_$i = `cat myfile.csv | grep world | cut -d ";" -f$j` let i+=1 ... So if i try an echo $t_prod_$i at the end of the cycle i cannot see the right value obtained by `cat myfile.csv | grep world |... (5 Replies)
Discussion started by: drain
5 Replies

10. UNIX for Dummies Questions & Answers

string concatenation

my input file contains thousands of lines like below 234A dept of education 9788 dept of commerce 8677 dept of engineering How do i add a delimeter ':' after FIRST 4 CHARACTERS in a line 234A:dept of education 9788:dept of commerce 8677:dept of engineering (7 Replies)
Discussion started by: systemsb
7 Replies
Login or Register to Ask a Question