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.