cutting last n character in a string using shell script cutting last n character in a string using shell script shell shell

cutting last n character in a string using shell script


To answer the title of you question with specifies cutting last n character in a string, you can use the substring extraction feature in Bash.

me@home$ A="123456"me@home$ echo ${A:0:-2}  # remove last 2 chars1234

However, based on your examples you appear to want to remove all trailing commas, in which case you could use sed 's/,*$//'.

me@home$ echo "ssl01:49188,ssl999999:49188,,,,," | sed 's/,*$//'ssl01:49188,ssl999999:49188

or, for a purely Bash solution, you could use substring removal:

me@home$ X="ssl01:49188,ssl999999:49188,,,,,"me@home$ shopt -s extglobme@home$ echo ${X%%+(,)}ssl01:49188,ssl999999:49188

I would use the sed approach if the transformation needs to be applied to a whole file, and the bash substring removal approach if the target string is already in a bash variable.


With sed:

sed 's/,\+$//' file


Using sed:

sed 's/,,*$//g' file