linux shell的几种截取字符串的方法
写shell脚本时,免不了需要截图字符串,这里有几种截取字符串的方法供参考。
假设shell中有字符串变量:str=aabbccddeeffaabbccddeeff
1. 符号“#“截取,删除指定字符串最左边一次匹配位置左边的字符串,保留右边字符串
代码如下:
echo ${str#*bb}
其中str是变量名,“#”是运算符,“#*bb”表示删除字符串“bb”第一次匹配位置左边的所有字符串,执行结果是:ccddeeffaabbccddeeff
2. 符号“##”,删除指定字符串最右边一次匹配位置的左边字符串,保留右边字符串
使用如下代码:
echo ${str##*bb}
其中str是变量名,“##”是运算符,“##*bb”表示删除字符串“bb”最后一次匹配位置左边的所有字符串,执行结果是:ccddeeff
3. 符号“%”,删除指定字符串最右边一次匹配位置右边字符串,保留左边字符串
使用如下代码:
echo ${str%bb*}
其中str是变量名,“%”是运算符,“%bb*”表示删除字符串“bb”最右边一次匹配位置右边的所有字符串,执行结果是:aabbccddeeffaa
4. 符号“%%”,删除指定字符串最左边一次匹配位置右边字符串,保留左边字符串
使用如下代码:
echo ${str%%bb*}
其中str是变量名,“%%”是运算符,“%bb*”表示删除字符串“bb”最左边一次匹配位置右边的所有字符串,执行结果是:aa
5. 从左边第几个字符开始,及字符的个数
使用如下代码:
echo ${str:0:5}
其中0表示从左边开始第一个字符,5表示字符的总个数,执行结果是:aabbc
6. 从左边第几个字符开始,直到结束
使用如下代码:
echo ${str:5}
其中7表示从左边开始第7个字符开始,直到结束,执行结果是:cddeeffaabbccddeeff
7. 从右边第几个字符开始,及字符个数
使用如下代码:
echo ${str:0-7:5}
其中0-7表示从右边第7个字符开始,5表示取5个字符,执行结果是:cddee
8. 从右边第几个字符开始,直到结束
使用如下代码:
echo ${str:0-7}
其中0-7表示从右边第7个字符开始,直到结束,执行结果是:cddeeff
更新于:9天前赞一波!
相关文章
- js 遍历数组、对象的几种方式
- 微擎TP6.0框架 微擎版、独立版 路由通用生成方法
- PHP 数组合并的几种方式
- .NET Core最新使用Session的方法
- TP6.0 基础控制器初始化方法中的重定向无效
- linux的Shell脚本中如何判断某个命令是否存在
- Linux中date命令如何格式化输出需要的时间格式
- 使用Docker Wine Qemu KVM在Linux运行Windows应用
- 几种常用的FTP客户端软件
- Debian Linux国内常用镜像源
- CentOS7安装unzip解压工具命令使用方法
- Linux使用Docker部署.NET6网站图文教程
- Linux中通过命令连接指定WiFi
- Vue cli4 图片地址引入的几种方式
- TP6模型类在PhpStorm中没有方法提示
- Linux下执行的Shell脚本如何判断当前脚本执行是否有root权限
- 构造方法 __construct()
- 什么是宝塔Linux
- C#中await/async异步编程采坑—async方法可能会同步执行
- Linux 删除文件或目录 rm 命令
文章评论
全部评论