Visit Our UNIX and Linux User Community


Remove trailing space


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Remove trailing space
# 1  
Old 07-03-2013
Remove trailing space

Hi

I am trying to remove trailing space from a string.

Code:
value=${value%% }

It is not working. What might be the issue with the above snippet.
# 2  
Old 07-03-2013
try:
Code:
value=$(echo $value)

# 3  
Old 07-03-2013
Only trailing space, try:
Code:
value=${value%"${value##*[! ]}"}


--
The issue with value=${value%% } is that there is no wildcard, so it is equivalent to value=${value% }, i.e. remove one trailing space.
# 4  
Old 07-04-2013
Try with a backslash:
Code:
value=${value%%\ }

It only works in ksh,bash,zsh, and Posix sh. Not in Unix standard shell.
# 5  
Old 07-04-2013
Quote:
Originally Posted by MadeInGermany
Try with a backslash:
Code:
value=${value%%\ }

It only works in ksh,bash,zsh, and Posix sh. Not in Unix standard shell.
The backslash won't matter. ${value%% }, ${value%%\ }, ${value% }, and ${value%\ } all expand to the value of the variable value with a single trailing space removed (if there was one) when using any shell that performs shell variable expansions as specified by the POSIX standards and the Single UNIX Specifications. (The Bourne shell and shells derived from csh do not recognize this syntax.)
# 6  
Old 07-04-2013
Quote:
Originally Posted by Don Cragun
The backslash won't matter. ${value%% }, ${value%%\ }, ${value% }, and ${value%\ } all expand to the value of the variable value with a single trailing space removed (if there was one) when using any shell that performs shell variable expansions as specified by the POSIX standards and the Single UNIX Specifications. (The Bourne shell and shells derived from csh do not recognize this syntax.)
Hi,

Thanks for the quick reply.

When I try to put it in "eval" command it is not accepting.
Is there any way to use/avoid trailing space here.

Code:
eval $value=\"${arr["$value"]}\"

present output is "tmp= lib" (please observe there is a space after =)

expected output is "tmp=lib" (without trailing space)
# 7  
Old 07-04-2013
What trailing space? I don't see what this has to do with your original question. If this is a new problem, then please open a new thread for this.

Previous Thread | Next Thread
Test Your Knowledge in Computers #830
Difficulty: Medium
JSON-RPC is a remote procedure call (RPC) protocol built on JSON, as a replacement for XML-RPC or SOAP.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Remove trailing space in Gawk

Hi, I have simply made a shell script to convert *.csv to *.xml file. Xml file is required for input to one tool. But i am getting space after last field. How can i remove it. Shell script is as follows :- if then echo "" echo "Wrong syntax, Databse_update.sh... (6 Replies)
Discussion started by: stillrules
6 Replies

2. Shell Programming and Scripting

Remove trailing space from file and folder names

I have a folder that contains many sub folders and files. This tree has to be backed up to an archive system. According to the tech support, one of the archives is failing to back up due to the possibility of trailing spaces on file and folder names. Therefore, I would like to have a script... (16 Replies)
Discussion started by: vipertech
16 Replies

3. Shell Programming and Scripting

Remove trailing number

I have some strings such as ABC1 ABC2 TYFASDD12 They will only have letters and numbers. In each case I want to remove the last digit? The lengths will vary. So a hard coded substr won't work. What do I do? if it doesn't end in a number, I don't want to remove any characters. (6 Replies)
Discussion started by: guessingo
6 Replies

4. Shell Programming and Scripting

Replacing trailing space with single quote

Platform : RHEL 5.8 I want to end each line of this file with a single quote. $ cat hello.txt blueskies minnie mickey gravity snoopyAt VI editor's command mode, I have used the following command to replace the last character with a single quote. ~ ~ ~ :%s/$/'/gNow, the lines in the... (10 Replies)
Discussion started by: John K
10 Replies

5. Shell Programming and Scripting

Remove trailing 0 from the field

Hi Freinds, I have file1.txt as below file1.txt 1521894~~-0.400~201207 1521794~~-0.486~201207 152494~~-0.490~201207 152154894~~-0.490~201207 1521894354~~-0.489~201207 expected output : 1521894~~-0.4~201207 1521794~~-0.486~201207 152494~~-0.49~201207... (9 Replies)
Discussion started by: i150371485
9 Replies

6. Shell Programming and Scripting

Remove trailing zeros

Hi I have a simple request but can't find the answer. I want to remove trailing zeros, and in some cases the fullstops, from the input data. Example of input file: FR002_15.000_20.000 SD475_5.000_10.500 FG5647_12.250_15.500 BH2463_30.555_32.000 Desired output file would be: ... (10 Replies)
Discussion started by: theflamingmoe
10 Replies

7. Shell Programming and Scripting

Delete trailing white space

I have a string "disk0 with a trailing white space after it" but I want to get rid of this white space from right to left so that I am left with "disk0" only. Using sed 's/ $//g' doesn't seem to work Any ideas ? Thanks (5 Replies)
Discussion started by: cillmor
5 Replies

8. Shell Programming and Scripting

Remove trailing G

Hello, I am trying to write a script that will calculate the amount of data remaining in a storage volume. I'm running Tru64 Unix version 5.1B patch kit 6. The script is being run against an AdvFS domain. I am programming in Korn Shell version M-11/16/88f. The basic idea is that I want to run df... (3 Replies)
Discussion started by: Heathe_Kyle
3 Replies

9. UNIX for Dummies Questions & Answers

How to remove trailing spaces

Hi, I have a file like this (ADD_MONTHS((Substr(Trim(BOTH FROM Translate(Maximum(closeDa ------------------------------------------------------------ 2007-06-30 00:00:00 I have a requirement where i need just the date. When i do: tail -1... (2 Replies)
Discussion started by: mahek_bedi
2 Replies

10. Shell Programming and Scripting

re: removing trailing space from lines

Not sure why this thread was closed without any explanation, but you can do what you're asking with sed 's/]*$//g' < sourceFile > destFile (1 Reply)
Discussion started by: oombera
1 Replies

Featured Tech Videos