Sponsored Content
Top Forums Shell Programming and Scripting Testing the last character in a string Post 53179 by jim mcnamara on Wednesday 7th of July 2004 11:37:39 AM
Old 07-07-2004
ksh has some really arcane substitution syntax. It's kinda fun but a lot of programmers don't know it, just like folks use only 20% of vi's capability.

Because folks here do not know all of that stuff, I try to use 'understandable' versions. Here is the same thing using expr, which is also portable to other shells.

Code:
lchr=`expr substr $a ${#a} 1`

the substr operand for expr takes:

$a - string to work on

${#a} - a starting point in the string - in this case the
last character ${#a} is the length of a string.

1 - number of characters after the starting point to return

Generally, if you need a lot of string and array features, try bash.
ksh has most of them but some of it is completely counterintuitive. IMO.
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Removing first character in a string

While writing a shell script i happen to store some value in a string. Lets say the value is 59788. Now in this script i want to get the value 9788 removing the first charater 5. The original string length usually remains constant. Is there a single line command to do this or any simple way to... (4 Replies)
Discussion started by: npn
4 Replies

2. Shell Programming and Scripting

bash: testing if string is a number

How do you test if a string is a number? Trying to do something like this: x="AS" if( x is not a number ); then x=0 fi Because I want to do number arithmetic with x. (3 Replies)
Discussion started by: eur0dad
3 Replies

3. Programming

converting character string to hex string

HI Hi I have a character string which contains some special characters and I need it to display as a hex string. For example, the sample i/p string: ×¥ïA Å gïÛý and the o/p should be : D7A5EF4100C5010067EFDBFD Any pointers or sample code pls. (5 Replies)
Discussion started by: axes
5 Replies

4. Shell Programming and Scripting

inserting a character between string

i have a file contains like this: i want to create a script that will insert a comma "." after the 10th character so it would be look like this thanks in advance (5 Replies)
Discussion started by: dakid
5 Replies

5. Shell Programming and Scripting

Extract the last character of a string

How can I extract the last character of a string (withou knowing how many characters are in that string ! ) (8 Replies)
Discussion started by: annelisa
8 Replies

6. Shell Programming and Scripting

Korn: How to loop through a string character by character

If I have a string defined as: MyString=abcde echo $MyString How can I loop through it character by character? I haven't been able to find a way to index the string so that I loop through it. shew01 (10 Replies)
Discussion started by: shew01
10 Replies

7. Shell Programming and Scripting

testing the last character

hi i try to test the last character in a variable (here $i ) assume i=kljlkjlkA it should be KO and lkjljjlT KO if then echo "ending with A" else echo "no A at the end" fi whether i is ending or not with A i got "no A at the end" i tried with simple [ double this is the... (3 Replies)
Discussion started by: Nicol
3 Replies

8. UNIX for Dummies Questions & Answers

Testing for non-zero length string

Hello, can someone please explain to me why this happens: myserver#echo "$nothing" myserver#if ; then echo "nothing is a zero length string"; fi nothing is a zero length string myserver#if ; then echo "nothing is also a non-zero length string, apparently"; fi nothing is also a non-zero... (5 Replies)
Discussion started by: longjon
5 Replies

9. Shell Programming and Scripting

Testing the length of a string

Hello, Unix-Forums! Is there a command that can check how long a user-entered string is? Please don't give me a code, just the name of the command (playing around yourself is much more fun than just pasting code) edit: I'm sorry, first hit of the forum search gave me the answer. (1 Reply)
Discussion started by: intelinside
1 Replies

10. Shell Programming and Scripting

sed searches a character string for a specified delimiter character, and returns a leading or traili

Hi, Anyone can help using SED searches a character string for a specified delimiter character, and returns a leading or trailing space/blank. Text file : "1"|"ExternalClassDEA519CF5"|"Art1" "2"|"ExternalClass563EA516C"|"Art3" "3"|"ExternalClass305ED16B8"|"Art9" ... ... ... (2 Replies)
Discussion started by: fspalero
2 Replies
ShellQuote(3)						User Contributed Perl Documentation					     ShellQuote(3)

NAME
String::ShellQuote - quote strings for passing through the shell SYNOPSIS
$string = shell_quote @list; $string = shell_quote_best_effort @list; $string = shell_comment_quote $string; DESCRIPTION
This module contains some functions which are useful for quoting strings which are going to pass through the shell or a shell-like object. shell_quote [string]... shell_quote quotes strings so they can be passed through the shell. Each string is quoted so that the shell will pass it along as a single argument and without further interpretation. If no strings are given an empty string is returned. If any string can't be safely quoted shell_quote will croak. shell_quote_best_effort [string]... This is like shell_quote, excpet if the string can't be safely quoted it does the best it can and returns the result, instead of dying. shell_comment_quote [string] shell_comment_quote quotes the string so that it can safely be included in a shell-style comment (the current algorithm is that a sharp character is placed after any newlines in the string). This routine might be changed to accept multiple string arguments in the future. I haven't done this yet because I'm not sure if the strings should be joined with blanks ($") or nothing ($,). Cast your vote today! Be sure to justify your answer. EXAMPLES
$cmd = 'fuser 2>/dev/null ' . shell_quote @files; @pids = split ' ', `$cmd`; print CFG "# Configured by: ", shell_comment_quote($ENV{LOGNAME}), " "; BUGS
Only Bourne shell quoting is supported. I'd like to add other shells (particularly cmd.exe), but I'm not familiar with them. It would be a big help if somebody supplied the details. AUTHOR
Roderick Schertler <roderick@argon.org> SEE ALSO
perl(1). perl v5.16.3 2010-06-11 ShellQuote(3)
All times are GMT -4. The time now is 07:03 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy