Removing the first and last character of a string in Bash
In this tutorial, we are going to learn about how to remove the first and last character of a string in Bash.
Consider we have the following string:
str="/google/"
Now, we want to remove the slashes /
from both sides of a string.
Using the parameter expansion syntax
To remove the first and last character of a string, we can use the parameter expansion syntax ${str:1:-1}
in the bash shell.
1
represents the second character index (included).
-1
represents the last character index (excluded).
It means slicing starts from index 1
and ends before index -1
.
Here is an example:
str="/google/"
modified="${str:1:-1}"
echo $modified
Output:
"google"
Similarly, we can also use the following syntax:
str="/google/"
str="${str#?}" # removes first character
str="${str%?}" # removes last character
echo $str # "google"