Skip to content

How to remove the first/last characters from a variable in a shell script

While working on a Bash / Fish script I had the need to remove the last n characters from a string and it took way longer to figure out than I wanted.

Here’s the solution I found:

#!/bin/sh
original="my original string"
result=$(echo $original | cut -c10-) #cut first 10 chars
echo $result

To remove the last n characters:

#!/bin/sh
original="my original string"
result=$(echo $original | rev | cut -c10- | rev) #cut last 10 chars
echo $result
→ Get my Linux Command Line Handbook

I wrote 17 books to help you become a better developer, download them all at $0 cost by joining my newsletter

JOIN MY CODING BOOTCAMP, an amazing cohort course that will be a huge step up in your coding career - covering React, Next.js - next edition February 2025

Bootcamp 2025

Join the waiting list