Remove / at the end of a string if it exists


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Remove / at the end of a string if it exists
# 1  
Old 10-07-2008
Remove / at the end of a string if it exists

Hey guys, Can sed or another command be used to examine a path such as
Code:
/home/test/blah/blah

and check to see if the last character is a "/" and if so remove it


So this is what should happen:

Code:
/home/test/blah/blah

nothing happens, this is ok


Code:
/home/test/blah/blah/

the "/" at the end is removed and the string becomes
Code:
/home/test/blah/blah

Thanks all
# 2  
Old 10-07-2008
Yes:

Code:
$ p=/home/test/blah/blah/
$ printf "%s\n" "${p%/}"
/home/test/blah/blah
$ p=/home/test/blah/blah
$ printf "%s\n" "${p%/}"
/home/test/blah/blah

# 3  
Old 10-07-2008
Code:
echo "/home/test/blah/blah/" | sed 's/\/$//'
/home/test/blah/blah

# 4  
Old 10-07-2008
Code:
var=/home/test/blah/blah/
echo $var| sed 's%/$%%'
echo ${var%%/}

# 5  
Old 10-07-2008
Quote:
Originally Posted by Ikon
Code:
echo "/home/test/blah/blah/" | sed 's/\/$//'
/home/test/blah/blah

This one works well, thanks everyone for your help!
# 6  
Old 10-07-2008
Actually radoulov's solution (also posted in a variant by danmero) is superior.
# 7  
Old 10-07-2008
Quote:
Originally Posted by danmero
Code:
echo ${var%%/}


Since the pattern can only match a single character, you only need one %:

Code:
newvar=${var%/}

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Need help to delete special characters exists only at the end of the each record in UNIX file?

Hi, I have a file in unix with 15 columns.It consists special characters(#,$,^M,@,*,% etc)at the end of the each record.I want to remove these special characters.I used the following: Sed -e 's/ /g;s/ */ /g' . But It is removing special characters exists everywhere in the file(begining,middle... (24 Replies)
Discussion started by: rakeshp
24 Replies

2. Shell Programming and Scripting

Remove only specific char on every line when exists

Hi I need to remove "|" char when it's the last char of the line. Input file: generoso|desprendido|altruista| abnegar|ceder|sacrificar| abocetado-da|esbozado| apuntado|insinuado|incompleto abocetar|esbozar|bosquejar| diseņar|delinear ------------------------ output need --- ... (11 Replies)
Discussion started by: lookoo
11 Replies

3. Shell Programming and Scripting

Remove lines between the start string and end string including start and end string Python

Hi, I am trying to remove lines once a string is found till another string is found including the start string and end string. I want to basically grab all the lines starting with color (closing bracket). PS: The line after the closing bracket for color could be anything (currently 'more').... (1 Reply)
Discussion started by: Dabheeruz
1 Replies

4. Shell Programming and Scripting

Remove 3rd character from the end of a random-length string

Hi, I hope someone can share there scripting fu on my problem, I would like to delete the 3rd character from a random length of string starting from the end Example Output Hope you can help me.. Thanks in advance.. (3 Replies)
Discussion started by: jao_madn
3 Replies

5. Shell Programming and Scripting

Remove lines that match string at end of column

I have this: 301205 0000030000041.49000000.00 2011111815505 908 301205 0000020000029.10000000.00 2011111815505 962 301205 0000010000027.56000000.00 2011111815505 3083 312291 ... (2 Replies)
Discussion started by: herot
2 Replies

6. Shell Programming and Scripting

BASH: remove digits from end of string

Hi there, im sure this is really simple but i have some strings like this e1000g123001 e1000g0 nge11101 nge3and i want to create two variables ($DRIVER and $INSTANCE). the first one containing the alpha characters that make up the first part of the string, e.g. e1000g or nge and the... (9 Replies)
Discussion started by: rethink
9 Replies

7. Shell Programming and Scripting

How to remove white spaces from the beginning an end of a string in unix?

Suppose, I have a variable var=" name is ". I want to remove the blank spaces from the begining and endonly, not from the entire string. So, that the variable/string looks like following var="name is". Please look after the issue. (3 Replies)
Discussion started by: mady135
3 Replies

8. Shell Programming and Scripting

Search and remove digits (if exist) from end of the string

Hi Experts, Here is what I am trying to do. 1) say I have a file with below strings database1 database2 database3 data10gdb1 data10gdb2 databasewithoutdigit 2) I want to get the below output. (- if there is any digit at the end of the string, I need to remove it) (- Any... (3 Replies)
Discussion started by: shail_boy
3 Replies

9. Shell Programming and Scripting

Awk: Remove comma at the end of the string

Hi i had String like UID: ABC345QWE678GFK345SA90, LENGTH 32 when I used awk ' FS, {print $1}' prints ABC345QWE678GFK345SA90, how can i getrid of that coma at the end of the string. Thanks in advance.. (14 Replies)
Discussion started by: Reddy482
14 Replies

10. Shell Programming and Scripting

Remove box like special character from end of string

Hi All, How to remove a box like special character which appears at the end of a string/line/record. I have no clue what this box like special character is. It is transparent square like box. This appears in a .DAT file at the end of header. I'm to compare a value in header with a parameter.... (16 Replies)
Discussion started by: Qwerty123
16 Replies
Login or Register to Ask a Question