linux bash字符串截取
${string: start :length} | 从 string 字符串的左边第 start 个字符开始,向右截取 length 个字符。 |
${string: start} | 从 string 字符串的左边第 start 个字符开始截取,直到最后。 |
${string: 0-start :length} | 从 string 字符串的右边第 start 个字符开始,向右截取 length 个字符。 |
${string: 0-start} | 从 string 字符串的右边第 start 个字符开始截取,直到最后。 |
${string#*chars} | 从 string 字符串第一次出现 *chars 的位置开始,截取 *chars 右边的所有字符。 |
${string##*chars} | 从 string 字符串最后一次出现 *chars 的位置开始,截取 *chars 右边的所有字符。 |
${string%*chars} | 从 string 字符串第一次出现 *chars 的位置开始,截取 *chars 左边的所有字符。 |
${string%%*chars} | 从 string 字符串最后一次出现 *chars 的位置开始,截取 *chars 左边的所有字符。 |
1) 从字符串左边开始计数
${string: start :length}
其中,string 是要截取的字符串,start 是起始位置(从左边开始,从 0 开始计数),length 是要截取的长度(省略的话表示直到字符串的末尾)
id="Fn-1-LDM0057_L3_1.fq.gz:Fn-1-LDM0057_L3_2.fq.gz"
echo ${id: 5:7}
echo ${id:5} # 直到结尾
2 从字符串右边开始计数
${string: 0-start :length}
从右边开始计数时,起始数字是 1
id="Fn-1-LDM0057_L3_1.fq.gz:Fn-1-LDM0057_L3_2.fq.gz"
echo ${id:0-18:7}
echo ${id:0-18} # 直到结尾
3. 使用 # 号截取右边字符
从左边开始匹配。
${string#*chars} # 遇到第一个匹配的字符(子字符串)就结束
${string##*chars} # 直到最后一个指定字符(子字符串)再匹配结束
id="Fn-1-LDM0057_L3_1.fq.gz:Fn-1-LDM0057_L3_2.fq.gz"
echo ${id#*:}
echo ${id#*_:}
echo ${id##*_}
4. 使用 % 截取左边字符
从右边开始匹配。
id="Fn-1-LDM0057_L3_1.fq.gz:Fn-1-LDM0057_L3_2.fq.gz"
echo ${id%:*}
echo ${id%_*}
echo ${id%%_*}
linux bash字符串截取相关推荐
- linux中字符串截取的八种方法
Linux 的字符串截取很常用,总结常用不同需求的几种方法 假设有变量 var=http://www.aaa.com/123.htm 1. # 号截取,删除左边字符,保留右边字符. echo ${va ...
- linux bash 字符串 连接,Linux Bash 中字符串操作
Linux Bash 中字符串操作 所谓 "子字符串" 就是出现在其它字符串内的字符串. 比如 "3382" 就是 "this is a 3382 t ...
- Linux之字符串截取
获取字符串的长度 在 Shell 中获取字符串长度很简单,具体方法如下: ${#string_name} string_name 表示字符串名字. root@master:~# b="ma ...
- Linux Shell字符串截取(非常详细):#左边开始截取、%右边开始截取、指定位置截取
演示 Shell 截取字符串通常有两种方式:从指定位置开始截取和从指定字符(子字符串)开始截取. 从指定位置开始截取 这种方式需要两个参数:除了指定起始位置,还需要截取长度,才能最终确定要截取的字符串 ...
- linux bash 字符串 连接,Bash连接字符串
在本小节中,将学习如何在Bash Shell脚本中添加或连接字符串. 在bash脚本编制中,可以将两个或多个字符串添加或连接在一起,这称为字符串连接.它是任何一种编程语言的通用要求之一.应用特殊字符或 ...
- linux shell字符串截取总结
一.字符串变量的截取操作 对字符串变量的截取操作一般都是通过${操作符}的方式进行,如下: 1.从指定位置(index)截取固定长度 格式:${string:start:length} 其中,stri ...
- Linux 的字符串截取很有用。有八种方法。
假设有变量 var=http://www.aaa.com/123.htm. 1. # 号截取,删除左边字符,保留右边字符. 复制代码 代码如下: echo ${var#*//} 其中 var 是变量名 ...
- Linux shell字符串截取与拼接
快速链接: .
- Linux shell 的字符串截取
Linux 的字符串截取很有用.有八种方法. 假设有变量 var=http://www.aaa.com/123.htm 1. # 号截取,删除左边字符,保留右边字符. echo ${var#*//} ...
最新文章
- linux笔记第一章--基本命令记载
- 数据结构 - 如何找到有环单链表的环的入口位置(C++)
- java中怎么固定间距_java中的GridBagLayout是怎么调组件间距的...
- easyui edatagrid 触发编辑行回掉onEdit
- 冒泡排序、快速排序 java代码实现
- pandas 替换 某列大于_Pandas简单入门 1
- AeroFS 开源 SSMP 协议,包含 Java 和 Go 实现
- 1b8c语言,C语言 - 王朝网络 - wangchao.net.cn
- sql2008安装时提示参数不能为空_PHP命令行脚本接收传入参数的三种方式
- 【QT】QT从零入门教程(十三):QT画笔工具QPainter (双缓冲绘图)
- 如何杀死一个已经detached的screen会话?
- TF-tf.keras.layers.Embedding
- AR/MR研究团队和机构
- html里用js实现随机抽奖,javascript实现随机抽奖功能
- JLink JTAG和SWD模式引脚定义
- fulisha-English
- java分词支持拼音_ik中文分词器及拼音分词器试用
- 在 Flutter 中创建响应式表单
- 停止在csdn发文及上传资源的声明
- (3)网页视频获取下载案例3
热门文章
- 单链表的基本操作(增删查总结)
- C++中类的静态成员
- 阿里云天池大赛赛题解析――深度学习篇
- 重磅直播|结构光之相移法+格雷码技术详解
- 第二十三课.Kaggle交易预测
- 机器学习中常用到的知识点总结
- 指定模块打包命令_大前端进阶之Babel、模块化、webpack
- 3 calender python_python3笔记二十一:时间操作datetime和calendar
- go channel 缓冲区最大限制_Java内卷系列之你不得不知的Go并发基础
- mSystems和Microbiology Spectrum杂志“肠道微生态专题”论文征稿