shell中字符串截取
Linux 的字符串截取很有用。有八种方法。
假设有变量 var="User:123//321:/home/dir"
1. # 号截取,删除左边字符,保留右边字符。
[root@zhoucentos ~]# var="User:123//321:/home/dir"
[root@zhoucentos ~]# echo ${var#*//}
:/home/dir
其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符
即删除 User:123
结果是 :321:/home/dir
2. ## 号截取,删除左边字符,保留右边字符。
[root@zhoucentos ~]# echo ${var##*/}
dir
##*/ 表示从左边开始删除最后(最右边)一个 / 号及左边的所有字符
即删除 User:123//321:/home/
结果是 dir
3. %号截取,删除右边字符,保留左边字符
[root@zhoucentos ~]# echo ${var%:*}
User://
%:* 表示从右边开始,删除第一个:号及右边的字符
结果是:User:123//321
4. %% 号截取,删除右边字符,保留左边字符
[root@zhoucentos ~]# echo ${var%%:*}
User
%%:* 表示从右边开始,删除最后(最左边)一个: 号及右边的字符
结果是:User
5. 从左边第几个字符开始,及字符的个数
[root@zhoucentos ~]# echo ${var:0:8}
User:
其中的 0 表示左边第一个字符开始,8 表示字符的总个数。
结果是:User:123
6. 从左边第几个字符开始,一直到结束。
[root@zhoucentos ~]# echo ${var:5}
//321:/home/dir
其中的5 表示左边第6个字符开始,一直到结束。
结果是 :123//321:/home/dir
7. 从右边第几个字符开始,及字符的个数
[root@zhoucentos ~]# echo ${var:0-9:5}
/home
其中的 0-9 表示右边算起第九个字符开始,5表示字符的个数。
结果是:/home
8. 从右边第几个字符开始,一直到结束。
[root@zhoucentos ~]# echo ${var:0-9}
/home/dir
表示从右边第九个字符开始,一直到结束。
结果是:/home/dir
注:(左边的第一个字符是用 0 表示,右边的第一个字符用 0-1 表示)
shell中字符串截取的更多相关文章
- c#中字符串截取使用的方法
AndyZhang welcome to java world c#中字符串截取使用的方法 String substring(int beginIndex) String substring(int ...
- 【2017-06-27】Js中获取地址栏参数、Js中字符串截取
一.Js中获取地址栏参数 //从地址栏获取想要的参数 function GetQueryString(name) { var reg = new RegExp("(^|&)" ...
- javascript、jquery 、C#、sqlserveer、mysql、oracle中字符串截取的区别和用法
下标从0开始 ,并且包括起始位 javascript 中字符串截取 : substring(Number start,Number end) var substr = "liuguangfa ...
- shell中字符串操作【转】
转自:http://blog.chinaunix.net/uid-29091195-id-3974751.html 我们所遇到的编程语言中(汇编除外)都少不了字符串处理函数吧,当然shell编程也不例 ...
- Shell中字符串、数值的比较
原文:http://apps.hi.baidu.com/share/detail/31263915 在shell中字符串与数值的比较方法是不同的,要注意区分 整数比较: -eq 等于 ...
- Shell中字符串的切割、拼接、比较、替换
[截取] 一.Linux shell 截取字符变量的前8位,有方法如下: expr substr “$a” 1 8 : 二.按指定的字符串截取 第一种方法: ${varible##*string} # ...
- JavaScript中字符串截取函数slice()、substring()、substr()
在js中字符截取函数有常用的三个slice().substring().substr()了,下面我来给大家介绍slice().substring().substr()函数在字符截取时的一些用法与区别吧 ...
- Shell脚本字符串截取方法总结
Shell脚本8种字符串截取方法总结转自:https://www.cnblogs.com/ralphdc/p/8032335.html Linux 的字符串截取很有用.有八种方法.假设有变量 var= ...
- Thinkphp 3.2中字符串截取
将此方法放到Thinkphp/Common/function.php里/* * 字符串截取函数 * 大白驴 * 2016-11-29 qq 675835721 * */function msubstr ...
随机推荐
- Codeforces 835 F Roads in the Kingdom(树形dp)
F. Roads in the Kingdom(树形dp) 题意: 给一张n个点n条边的无向带权图 定义不便利度为所有点对最短距离中的最大值 求出删一条边之后,保证图还连通时不便利度的最小值 $n & ...
- 洛谷 P3765 总统选举 解题报告
P3765 总统选举 题目背景 黑恶势力的反攻计划被小C成功摧毁,黑恶势力只好投降.秋之国的人民解放了,举国欢庆.此时,原秋之国总统因没能守护好国土,申请辞职,并请秋之国人民的大救星小C钦定下一任.作 ...
- Installing Wine 1.5: configure: error: Cannot build a 32-bit program, you need to install 32-bit development libraries(转载)
Installing Wine 1.5: configure: error: Cannot build a 32-bit program, you need to install 32-bit dev ...
- display 垂直居中
/* Center slide text vertically */ display: -webkit-box; display: -ms-flexbox; display: -webkit-flex ...
- Java并发编程--CyclicBarrier
概述 CyclicBarrier是一个同步工具类,它允许一组线程互相等待,直到到达某个公共屏障点.与CountDownLatch不同的是该barrier在释放等待线程后可以重用,所以称它为循环(Cyc ...
- sql 取一张表的全部外键
select a.name as 约束名, object_name(b.parent_object_id) as 外键表, d.name as 外键列, object_name(b.reference ...
- Optional int parameter 'rows' is not present but cannot be translated into a null value due to being declared as a primitive type.
我的spring mvc 代码: @Controller @RequestMapping("/product") public class Fancy { @RequestMapp ...
- .net core 发布iis 错误
点击iis功能,例如 点击log日志,提示xxx路径下的web.config错误 百度之后 安装NET Core Windows Server Hosting ->DotNetCore.2.0. ...
- 解决iOS10的Safari下Meta设置user-scalable=no无效的方法
苹果为了提高Safari中网站的辅助功能,屏蔽了Meta下的user-scalable=no功能.所以在iOS10下面,就算加上user-scalable=no,Safari浏览器也能支持手动缩放. ...
- adb install 安卓apk的包
➜ ~ adb install /Users/jkr/Downloads/QYVideoClient-debug.apk /Users/jkr/Downloads/QYVideoClient-deb ...