shell 字符截取
Linux 的字符串截取很有用。有八种方法。
假设有变量 var=http://www.aaa.com/123.htm.
# 读sharp 谐音 杀:
${var#*//} 杀掉//左边的,保留右边的
%在c语言中有站位之意,如%d,%s
${var%*//}
取得//右边的字符
1. # 号截取,删除左边字符,保留右边字符。
echo ${var#*//}
其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符
即删除 http://
结果是 :www.aaa.com/123.htm
2. ## 号截取,删除左边字符,保留右边字符。
echo ${var##*/}
##*/ 表示从左边开始删除最后(最右边)一个 / 号及左边的所有字符
即删除 http://www.aaa.com/
结果是 123.htm
3. %号截取,删除右边字符,保留左边字符
echo ${var%/*}
%/* 表示从右边开始,删除第一个 / 号及右边的字符
结果是:http://www.aaa.com
4. %% 号截取,删除右边字符,保留左边字符
echo ${var%%/*}
%%/* 表示从右边开始,删除最后(最左边)一个 / 号及右边的字符
结果是:http:
5. 从左边第几个字符开始,及字符的个数
echo ${var:0:5}
其中的 0 表示左边第一个字符开始,5 表示字符的总个数。
结果是:http:
6. 从左边第几个字符开始,一直到结束。
echo ${var:7}
其中的 7 表示左边第8个字符开始,一直到结束。
结果是 :www.aaa.com/123.htm
7. 从右边第几个字符开始,及字符的个数
echo ${var:0-7:3}
其中的 0-7 表示右边算起第七个字符开始,3 表示字符的个数。
结果是:123
8. 从右边第几个字符开始,一直到结束。
echo ${var:0-7}
表示从右边第七个字符开始,一直到结束。
结果是:123.htm
注:(左边的第一个字符是用 0 表示,右边的第一个字符用 0-1 表示)
ci@clinux:~$ var=http://www.aaa.com/123.htm ci@clinux:~$ echo var var ci@clinux:~$ echo $var http://www.aaa.com/123.htm ci@clinux:~$ echo ${var#*//} www.aaa.com/123.htm ci@clinux:~$ echo ${var#*/} /www.aaa.com/123.htm ci@clinux:~$ echo ${var##*/} 123.htm ci@clinux:~$ echo ${var%*/} http://www.aaa.com/123.htm ci@clinux:~$ echo ${var%/} http://www.aaa.com/123.htm ci@clinux:~$ echo ${var%/*} http://www.aaa.com ci@clinux:~$ echo ${var%%/*} http: ci@clinux:~$ echo ${var:1:1} t ci@clinux:~$ echo ${var:3:5} p://w ci@clinux:~$ echo ${var::5} http: ci@clinux:~$ echo ${var:5} //www.aaa.com/123.htm ci@clinux:~$ echo ${var:0-2:5} tm ci@clinux:~$ echo ${var:0-6:5} 23.ht ci@clinux:~$ echo ${var:0-6} 23.htm ci@clinux:~$
转载于:https://www.cnblogs.com/conncui/p/substring.html
shell 字符截取相关推荐
- Shell编程——字符截取命令
字符截取命令 一.cut 格式: cut [选项] 文件名 参数: -f 列号: 提取第几列 -d 分隔符: 按照指定分隔符分割列 我们来演示一下,我们先建立一个文件,student.txt: ID ...
- shell字符串截取方法
shell中截取字符串的方法有很多中, ${expression}一共有9种使用方法. ${parameter:-word} ${parameter:=word} ${parameter:?word} ...
- shell字符串截取总结
shell中截取字符串的方法有很多中,本人对其中几种常用的进行整理总结. 0x01.grep 在文件中搜寻字符串匹配的行并输出 Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式 ...
- shell字符串截取
shell 字符串截取方法 1.从第几个索引开始,截取到最后 2.从第几个索引开始,截取指定长度字符 3.从倒数第几个位置开始,截取到最后 4.从倒数第几个位置开始,截取指定长度字符 5.从左开始匹配 ...
- shell各种截取*(要你想要的)
脚本之家服务器常用软件源市场脚本云 手机版 投稿中心 关注微信 快捷导航 网站首页 网页制作 网络编程 脚本专栏 脚本下载 数据库 服务器 电子书籍 操作系统 网站运营 其它 vbs DOS/BAT ...
- Linux Shell字符串截取(非常详细):#左边开始截取、%右边开始截取、指定位置截取
演示 Shell 截取字符串通常有两种方式:从指定位置开始截取和从指定字符(子字符串)开始截取. 从指定位置开始截取 这种方式需要两个参数:除了指定起始位置,还需要截取长度,才能最终确定要截取的字符串 ...
- oracle 并接去掉字符串,ORACLE删除字符-TRIM字符截取-substr查找字符-instr
TRIM函数,最简单的功能就是来去除字符串的行首和行尾的空格,返回值类型是varchar2; 1.TRIM函数的完整语法描述 TRIM([{{LEADING | TRAILING | BOTH} [ ...
- thinkphp字符截取函数msubstr()
ThinkPHP有一个内置字符截取函数msubstr()如下: msubstr($str, $start=0, $length, $charset="utf-8″, $suffix=true ...
- 自定义方法中英文字符截取
//方法一:(借鉴于thinkphp中的中英文字符截取) function msubstr($str, $start=0, $length, $charset="utf-8", $ ...
最新文章
- [转]ESP8266使用详解
- maven中spring-boot-dependencies变量名冲突
- jaba窗体连接mysql增删改查_知识实现——Java使用jdbc连接MySql数据库,实现增删改查...
- odd raio值 是什麼_乳化油相所需的HLB值
- 优秀的硕博士们,他们的朋友圈都有什么特点?
- java 字段构造函数_依赖注入–字段vs构造函数vs方法
- 骨干云池存储方式_你好,我存个对象(大误)漫谈对象存储
- 2021.08.22学习内容torch.cat()和torch.stack()函数
- 第五十节,面向对象基本介绍
- 进程线程与栈、堆的关系
- Nginx篇--解读nginx配置
- 【对抗攻击代码实战】对抗样本的生成——FGSM
- Linux Centos7 测试硬盘IO速度
- Coap协议(1)入门简介
- 【2018滴滴】寻找丑数
- 企业微信第三方应用开发小白版
- 小白操作Win10扩充C盘(把D盘内存分给C盘)亲测多次有效
- 对辛辛那提原始数据集(ims)数据划分正常,内圈故障,滚动体故障,外圈故障(python代码),可作为自己故障诊断模型实验的另一个数据集(因为CWRU普遍而言,准确度和被使用频率已经极高)
- Maya如何切换中英文
- 让人爱不释手的工具,每款都是高质量工具分享