Linux   发布时间:2022-04-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Linux Shell脚本问题大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_675_2@

概述

我在Linux SHell中有一个用点分隔的字符串,$example=This.is.My.String 我想要1.在最后一个点之前添加一些字符串,例如,我想在最后一个点之前添加“Good.Long”,所以我得到:This.is.My.Goood.Long.String 2.获取最后一个点后面的部分,这样我就可以String 3.将点转换为下划线除了最后一
@H_675_2@
@H_675_2@ @H_675_2@

我在Linux SHell中有一个用点分隔的字符串,

$example=This.is.My.String

我想要

1.在最后一个点之前添加一些字符串,例如,我想在最后一个点之前添加“Good.Long”,所以我得到:

This.is.My.Goood.Long.String

2.获取最后一个后面的部分,这样我就可以

String

3.将点转换为下划线除了最后一个点,所以我会得到

This_is_My.String

如果你有时间,请解释一下,我还在学习正则表达式.

非常感谢!

@H_675_2@
最佳答案@H_675_2@
我不知道’Linux SHell’是什么意思所以我会假设bash.此解决方案也适用于zsh,等等:

example=This.is.My.String
before_last_dot=${example%.*}
after_last_dot=${example##*.}
echo ${Before_last_dot}.Goood.Long.${after_last_dot} 
This.is.My.Goood.Long.String

echo ${Before_last_dot//./_}.${after_last_dot} 
This_is_My.String

临时变量before_last_dot和after_last_dot应该解释我对%和##运算符的使用. //,我也认为是@L_696_10@自明的,但我很乐意澄清你是否有任何问题.

这不使用sed(甚至是正则表达式),而是使用bash的内置参数替换.我更喜欢每个脚本只使用一种语言,尽可能少的叉子:-)

@H_675_2@ @H_675_2@

大佬总结

以上是大佬教程为你收集整理的Linux Shell脚本问题全部内容,希望文章能够帮你解决Linux Shell脚本问题所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。