ren*_*ton 1 string bash shell replace
我需要将最后一个点替换为字符串中的字符' - '.
# a='2.5.2.pl'
Run Code Online (Sandbox Code Playgroud)
使用以下表达式:
# echo ${a/%./-}
Run Code Online (Sandbox Code Playgroud)
我希望得到:
2.5.2-pl
Run Code Online (Sandbox Code Playgroud)
但我明白了
2.5.2.pl
Run Code Online (Sandbox Code Playgroud)
我注意到只有当我需要从头到尾替换点时它才起作用.为什么会这样?当然我可以使用像awk这样的外部程序来解决这个问题,但是我只需要使用bash解决问题.
谢谢你的建议!
使用bash的参数扩展:
a='2.5.2.pl'
echo "${a%.*}-${a##*.}"
Run Code Online (Sandbox Code Playgroud)
输出:
2.5.2-pl