bash – 使用shell脚本切割字符串中的最后n个字符

如何使用 shell脚本从特定字符串中删除所有n个字符,
ssl01:49188,ssl01:49188,ssl999999:49188,abcf999:49188,

输出格式如下

ssl01:49188
ssl01:49188
ssl01:49188
ssl01:49188,ssl999999:49188
ssl01:49188,abcf999:49188
要回答你问题的标题,指定剪切字符串中的最后一个字符,可以使用Bash中的子字符串提取功能.
me@home$A="123456"
me@home$echo ${A:0:-2}  # remove last 2 chars
1234

然而,根据你的例子,你似乎想删除所有的逗号,在这种情况下你可以使用sed的/,* $//’.

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

或者,对于纯Bash解决方案,您可以使用子字符串删除

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

如果转换需要应用于整个文件,我将使用sed方法,如果目标字符串已经在bash变量中,则使用bash子字符串删除方法.

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...