by Sai gowtham

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"

Top Udemy Courses

JavaScript - The Complete Guide 2020 (Beginner + Advanced)
JavaScript - The Complete Guide 2020 (Beginner + Advanced)
45,614 students enrolled
52 hours of video content
View Course
React - The Complete Guide (incl Hooks, React Router, Redux)
React - The Complete Guide (incl Hooks, React Router, Redux)
284,472 students enrolled
40 hours of video content
View Course
Vue - The Complete Guide (w/ Router, Vuex, Composition API)
Vue - The Complete Guide (w/ Router, Vuex, Composition API)
130,921 students enrolled
48.5 hours of video content
View Course