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 ...
随机推荐
- 2017 多校4 Dirt Ratio
多校4 Dirt Ratio(二分+线段树) 题意: 给出n个数,找一段区间使得区间内不同数字个数除以区间长度最小,求这个最小值,\(n<=60000,a_i<=n\) 题解: 二分答案m ...
- wordpress对使用的国外主题进行本地汉化
wordpress有非常多优秀与专业的主题,当然大多数是非中文的 这些主题本身总会有些无法通过wordpress admin后台来配置的在页面上的英文输出 此时你可以去对应的代码去改掉那些输出,不过这 ...
- 设置小于12px的字体
.small-font{ font-size:12px; -webkit-transform-origin-x: 0; -webkit-transfo ...
- UVA 306 Cipher
题意 :lucky cat里有翻译.英文也比较好懂. 很容易发现有周期然后就拍就好了 注意每组数据后边都有空行 包括最后一组.一开始以为最后一组没有空行.唉.. #include <map> ...
- ubuntu软件包管理
ubuntu安装好了后首先要会下载和管理系统的软件包:ubuntu的软件管理方式是apt-get 安装软件包apt-get harvey@ubuntu:/var/cache/apt$ which ap ...
- 优化html中mp4视频加载速度
如果使用参数faststart就会在生成完上边结构之后将moov移动到mdat前面:ffmpeg –i input.flv –c copy –f mp4 –movflags faststart out ...
- Ubuntu16.04搭建LAMP开发环境
Ubuntu16.04搭建LAMP开发环境 虚拟机上安装好Ubuntu16.04后,是一台空白的Ubuntu.我的目的是搭建LAMP环境,顺便搭一个Python Django环境. 基本设置 1.配置 ...
- wsgi的学习(1):什么是WSGI
本文来自:http://www.nowamagic.net/academy/detail/1330310 WSGI,全程是:Web Server Gateway Interface,或者python ...
- 使用composer出现 Cannot find module (SNMPv2-TC) 等错误的解决方法
Cannot find module (SNMPv2-TC): At line 10 in /usr/share/snmp/mibs/UCD-DLMOD-MIB.txt Cannot find mod ...
- "科林明伦杯"哈尔滨理工大学第八届程序设计竞赛 题解
题目链接 Problems Problem A 快速幂累加即可. #include <cstdio> #include <cstring> #include <iost ...