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

前端之家收集整理的这篇文章主要介绍了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子字符串删除方法.

原文链接:https://www.f2er.com/bash/386266.html

猜你在找的Bash相关文章