How to remove the last n characters of a string in Bash
In this tutorial, we are going to learn about how to remove the last n characters of a string in Bash.
Consider, we have the following string.
country="portugal"Now, we want to remove the last 3 characters gal from the above string.
Removing the last n characters
To remove the last n characters of a string, we can use the parameter expansion syntax ${str::-n} in the Bash shell.
-n is the number of characters we need to remove from the end of a string.
Here is an example that removes the last 3 characters from the following string:
country="portugal"
modified=${country::-3}
echo $modifiedOutput:
"portu"you can also remove the last 4 characters of a string like this:
country="portugal"
modified=${country::-4}
echo $modified # "port"Alternatively, we can also use the following syntax to remove the last n characters of a string.
country="portugal"
modified=${country%????}
echo $modified # "port"In the above syntax, % specifies to remove the character from the end of a string that matches the glob pattern ? (that is any character).


