首页 > 系统相关 >shell字符串截取

shell字符串截取

时间:2024-06-24 13:30:25浏览次数:22  
标签:字符 右边 shell http 左边 截取 123 字符串 htm

假设有变量 var=http://www.aaa.com/123.htm.

1. # 号截取,删除左边字符,保留右边字符。

[root@ansible01 ~]# var=http://www.aaa.com/123.htm.
[root@ansible01 ~]# echo ${var#*//}
www.aaa.com/123.htm.

 

其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符
即删除 http://
结果是 :www.aaa.com/123.htm

2. ## 号截取,删除左边字符,保留右边字符。

[root@ansible01 ~]# echo ${var##*/}
123.htm.

 

##*/ 表示从左边开始删除最后(最右边)一个 / 号及左边的所有字符
即删除 http://www.aaa.com/

结果是 123.htm

3. %号截取,删除右边字符,保留左边字符

[root@ansible01 ~]# echo ${var%/*}
http://www.aaa.com

 

%/* 表示从右边开始,删除第一个 / 号及右边的字符

结果是:http://www.aaa.com

4. %% 号截取,删除右边字符,保留左边字符

[root@ansible01 ~]# echo ${var%%/*}
http:

 

 %%/* 表示从右边开始,删除最后(最左边)一个 / 号及右边的字符
结果是:http:

5. 从左边第几个字符开始,及字符的个数

[root@ansible01 ~]# echo ${var:0:5}
http:

 

其中的 0 表示左边第一个字符开始,5 表示字符的总个数。
结果是:http:

6. 从左边第几个字符开始,一直到结束。

[root@ansible01 ~]# echo ${var:7}
www.aaa.com/123.htm.

 

其中的 7 表示左边第8个字符开始,一直到结束。
结果是 :www.aaa.com/123.htm

7. 从右边第几个字符开始,及字符的个数

[root@ansible01 ~]# echo ${var:0-7:3}
23.

 

其中的 0-7 表示右边算起第七个字符开始,3 表示字符的个数。
结果是:123

8. 从右边第几个字符开始,一直到结束。

[root@ansible01 ~]# echo ${var:0-7}
23.htm.

 

表示从右边第七个字符开始,一直到结束。
结果是:123.htm

注:(左边的第一个字符是用 0 表示,右边的第一个字符用 0-1 表示)

标签:字符,右边,shell,http,左边,截取,123,字符串,htm
From: https://blog.csdn.net/qq_37278522/article/details/139917484

相关文章

  • Python 字符串拼接方法
    字符串的拼接方式有多种:s='nice't='meetyou'r='!'1.利用字符串的格式化%s来拼接字符串。‘%s%s%s’%(s,t,r)结果:‘nicemeetyou!’2.利用join方法来拼接字符串。''.join([s,t,r])结果:‘nicemeetyou!’3.利用加号"+"来拼接字符串。s+t+r结果:‘......
  • shell数组
    shell数组文章目录shell数组数组数组遍历冒泡排序数组定义:在集合中指定多个元素:元素的类型:整数。字符串,可以是浮点作用:一次性的定义多个元素,可以为变量赋值提供便利。数组的定义方法数组名不能重复数组名=(abcd)echo${数组名[*或@]}数组内部的元素值是从......
  • 如何使用JMeter 中beanshell sample实现 POST 请求并处理响应
    如何使用JMeter中beanshellsample实现POST请求并处理响应在JMeter的性能测试中,可以通过Java代码来实现复杂的POST请求并处理响应。以下是一个详细的示例代码解析:importjava.io.OutputStreamWriter;importjava.io.InputStreamReader;importjava.io.BufferedReade......
  • LeetCode 28题找出字符串中第一个匹配项的下标
    给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从0开始)。如果 needle 不是 haystack 的一部分,则返回  -1 。示例1:输入:haystack="sadbutsad",needle="sad"输出:0解释:"sad"在下标0和6......
  • String字符串拼接原理
    分为三种情况字符串常量与字符串常量字符串常量之间的拼接操作在未加载到内存之前就已经完成了。在前端编译期间(即将.java源文件编译为.class字节码文件),会对字符串常量之间的拼接操作进行优化。对应的指令:可以看到对于s1和s2这两个局部变量,它们指向的是常量池中同一个对象,它......
  • 算法训练营第六十七天 | 卡码网110 字符串接龙、卡码网105 有向图的完全可达性、卡码
    卡码网110字符串接龙这题一开始用的邻接表+dfs,不幸超时#include<iostream>#include<list>#include<string>#include<vector>usingnamespacestd;intminLen=501;boolcount(stringa,stringb){intnum=0;for(inti=0;i<a.lengt......
  • 给定一字符串,从中提取最大的数字。
    给定一字符串,包含数字、小写字母、正负号、小数点,从中提取最大的数字。/***给定一字符串,包含数字、小写字母、正负号、小数点,从中提取最大的数字*abc56dfg+78ddd-89aa89.3ggg*/publicclassMain{publicstaticvoidmain(String[]args){System.out.p......
  • 解决 Xshell 无法使用 zsh 的 prompt style
    为了更好的阅读体验,请点击这里先学习一下zsh的配置吧~参考资料从0开始:教你如何配置zshpowerlevel10k如何给Xshell配置呢当我安装完oh-my-zsh、powerlevel10k、fast-syntax-highlighting、以及若干(powerlevel10k官方推荐)字体后,发现powerlevel10k的rainbowprompt......
  • 【VMware vSphere】使用RVTools中的PowerShell脚本创建导出vSphere环境信息的自动化任
    RVTools是VMware生态系统中一个非常受欢迎且免费的Windows实用工具,用于收集并显示VMwarevSphere环境中的相关信息,如虚拟机、主机及集群等相关配置。RVTools利用VMwarevSphereManagementSDK8.0和CISRESTAPI提供的丰富数据来直接获取和收集信息,这在管理员对VMwa......
  • shell编程之条件语句(shell脚本)
    条件测试操作要使shell脚本程序具备一定的“智能”,面临的第一个问题就是如何区分不同的情况以确定执行何种操作。例如,当磁盘使用率超过95%时,发送告警信息;当备份目录不存在时,能够自动创建;当源码编译程序时,若配置失败则不再继续安装等。shell环境根据命令执行后的返回状态值($?)......