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 ...
随机推荐
- 2-sat 学习笔记
一.问题描述 以你咕的模板题为例 题目描述 有\(n\)个布尔变量\(x_1\)~\(x_n\),另有\(m\)个需要满足的条件,每个条件的形式都是"\(x_i\)为true/false或\ ...
- babelrc配置
{ "presets": [ ["env", { // webapck2/3必须配置,放弃使用babel的模块化,使用webpack的模块化,webpack1不 ...
- MAP的get与containskey
前提是:Map可以出现在k与v的映射中,v为null的情况, 所以containsKey出现更加必要. map.get(key)是得到的key所对应的value值. map.contains(key) ...
- poj 3071 Football (概率DP水题)
G - Football Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Submit ...
- vue 项目 webstrom IDE格式化代码规则遵循eslint设置
首先vue-cli生成了一个项目,开启了eslint的检测, 但是根据webstorm的快捷格式化代码 ctrl+alt+L会造成eslint报错. 解决办法一: 编辑器打开文件 首先,在编辑器里面要 ...
- Kubernetes监控工具
#镜像在谷歌上需要FQ#####################################监控工具#当前最新版本 heapster https://github.com/kubernetes/h ...
- C3P0连接池工具类使用
c3p0的基本连接配置文件 c3p0-config.xml <c3p0-config> <default-config> <property name="dri ...
- Simditor 富文本编辑器
Simditor 是团队协作工具 Tower 使用的富文本编辑器. 相比传统的编辑器它的特点是: 功能精简,加载快速 输出格式化的标准 HTML 每一个功能都有非常优秀的使用体验 兼容的浏览器:IE1 ...
- yii2 ftp 的常规操作 上传 下载
<?php function make_directory($ftp_stream, $dir){ // if directory already exists or can be immedi ...
- (32)C#文件读写
一.File 类 这是一个静态类,提供用于创建.复制.删除.移动和打开单一文件的静态方法,并协助创建 FileStream 对象 using System.IO; 没有构造函数和属性 写入数据 1. ...