Substr throws an ERROR. Any alternatives?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Substr throws an ERROR. Any alternatives?
# 1  
Old 05-08-2008
Substr throws an ERROR. Any alternatives?

Can somebody please help me to remove the last character of a string.??

I have a string variable, in which I dynamically put values in a for loop.I want to remove the last character from the string.

But, the problem is I will not know which character can come in the string (Its inside for loop). So I tried using substr. substr does not work here.

Is there any alternative to do this?? Here my code goes.

....
for files in $rawSourceFiles
loop
MID_INFILE=`cat “${files}” | grep “Message-Id:"`
len=`expr “${MID_INFILE}” : ‘.*'`
len=`expr $len - 1`
trimmedMID_INFILE=`expr substr “${MID_INFILE}” 1 ${len}`

.....
...
done

But, it does not seem working. It throws an error “expr: syntax error” ..

What all I want here is in trimmedMID_INFILE should be the string MID_INFILE with last character trimmed. (last char could be anything like "\n", "/", etc.)


Can anybody please enlighten me?? I would be so grateful. Thanks in advance.
# 2  
Old 05-08-2008
Considering the ''expr' error that you are getting is from the code where you are trying to 'trim', than use the following:

Code:
trimmedMID_INFILE=`echo $MID_INFILE | cut -b 1-$len`

- MID_INFILE is you string.
- cut -b (cut by byte)
- 1-$len (from 1st byte till $len - considering $len is already length - 1)

Smilie
# 3  
Old 05-08-2008
Thank you..

Thanks Hemangjan.. !!! Thanks a lot.. It worked.. Yay...!!!
Smilie


One more question,

if [ $a = $b ]
then
echo SUCCESS
fi

If I want to case-insensitive-compare these two variables, what should I use?/

Sorry to ask these dumb questions. I'm a newbie to SHELL SCRIPTING..

:-(
# 4  
Old 05-08-2008
Login or Register to Ask a Question

Previous Thread | Next Thread

8 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

awk throws makes too many open files

Hi, I have a below awk script. BEGIN { FS=","; } { system("curl -v -H \"Authorization: SSWS test" -H \"Accept: application/json\" -H \"Content-Type: application/json\" -X POST \"https://tes.test.com/api/v1/users?activate=false\" -d \'{ \"profile\": { \"firstName\": \"" $1 "... (7 Replies)
Discussion started by: Krrishv
7 Replies

2. Shell Programming and Scripting

Export Variable throws message

Friends, I'm trying to export a variable as follows. But getting error message "not a valid identifier". However the variable has exact value. # INSTSALL_PATH=/opt/tmp/Ora10.9/default # ORAHOME=/apps/opt/Oracle # export ${ORAHOME}=${INSTSALL_PATH} -bash: export:... (3 Replies)
Discussion started by: baluchen
3 Replies

3. Shell Programming and Scripting

Calling shell script within awk script throws error

I am getting the following error while passing parameter to a shell script called within awk script. Any idea what's causing this issue and how to ix it ? Thanks sh: -c: line 0: syntax error near unexpected token `newline' sh: -c: line 0: `./billdatecalc.sh ... (10 Replies)
Discussion started by: Sudhakar333
10 Replies

4. UNIX for Dummies Questions & Answers

scp throws error

My script is like STAMP=$(perl -e '($ss, $mm, $hh, $DD, $MM, $YY) = localtime(time() - 100); printf "%04d%02d%02d%02d%02d", $YY + 1900, $MM + 1, $DD, $hh, $mm') touch $STAMP /sasdata/copydata/ find /sasdata/copydata -type f ! -newer /sasdata/copydata/ -print > output3.txt awk '{print "scp ... (6 Replies)
Discussion started by: tushar_spatil
6 Replies

5. Forum Support Area for Unregistered Users & Account Problems

Search throws a wobbly

Dear Administrator, Rule No.5 for unregistered users is impossible to comply with because Google search thinks that any Unix command that I search for is an attack from a virus and blocks the search. I managed to find this site from an external search, and it looks really useful. Do you... (2 Replies)
Discussion started by: Ken N
2 Replies

6. AIX

Copying to tape drive throws error

Hi All I am trying to copy files present in a partition (server 2) which is mounted to a different server (server 1) as tape drive is connected to it. I ran the below command to copy files within a partition: svr01:root:/sunfileserver> tar -cvf * a <foldername>/<filename>/<filename> a... (4 Replies)
Discussion started by: vathsan
4 Replies

7. UNIX for Dummies Questions & Answers

grep throws in dashes?

Hey guys, I'm trying to grep for two things out of a file and I got that working but why is it randomly throwing "--" in the output? Is there a simple way to get rid of them? It only seems to do it when the line above what im looking for has numbers in it. $ egrep -i -B 1... (3 Replies)
Discussion started by: kingdbag
3 Replies

8. Programming

fwrite throws segmentation fault

Code : function sSaveTFFile ....................... iRetCode = link (caCurrentFilename, caBackupFilename); if (iRetCode == -1) { ERR_MSG2(LOG_ALERT, "Can't move %s to %s", caCurrentFilename, caBackupFilename); return(FAILURE); } iRetCode = unlink... (6 Replies)
Discussion started by: fermisoft
6 Replies
Login or Register to Ask a Question