inux中shell截取字符串方法总结
- shell中截取字符串的方法有很多中,
- ${expression}一共有9种使用方法。
- ${parameter:-word}
- ${parameter:=word}
- ${parameter:?word}
- ${parameter:+word}
- 上面4种可以用来进行缺省值的替换。
- ${#parameter}
- 上面这种可以获得字符串的长度。
- ${parameter%word} 最小限度从后面截取word
- ${parameter%%word} 最大限度从后面截取word
- ${parameter#word} 最小限度从前面截取word
- ${parameter##word} 最大限度从前面截取word
- 上面4个就是用来截取字符串的方法了。
- 有了着四种用法就不必使用cut命令来截取字符串了
- 第一种又可以分为四种情况,下面一一介绍。
- 1、使用 # 号操作符。用途是从左边开始删除第一次出现子字符串即其左边字符,保留右边字符。用法为#*substr,例如:
- str='http://www.你的域名.com/cut-string.html'
- echo ${str#*//}
- 得到的结果为www.你的域名.com/cut-string.html,即删除从左边开始到第一个"//"及其左边所有字符2、使用 ## 号操作符。用途是从左边开始删除最后一次出现子字符串即其左边字符,保留右边字符。用法为##*substr,例如:
- str='http://www.你的域名.com/cut-string.html'
- echo ${str##*/}
- 得到的结果为cut-string.html,即删除最后出现的"/"及其左边所有字符
- 3、使用 % 号操作符。用途是从右边开始删除第一次出现子字符串即其右边字符,保留左边字符。用法为%substr*,例如:
- str='http://www.你的域名.com/cut-string.html'
- echo ${str%/*}
- 得到的结果为http://www.你的域名.com,即删除从右边开始到第一个"/"及其右边所有字符
- 4、使用 %% 号操作符。用途是从右边开始删除最后一次出现子字符串即其右边字符,保留左边字符。用法为%%substr*,例如:
- str='http://www.你的域名.com/cut-string.html'
- echo ${str%%/*}
- 得到的结果为http://www.你的域名.com,即删除从右边开始到最后一个"/"及其右边所有字符
- 第二种也分为四种,分别介绍如下:
- 1、从左边第几个字符开始以及字符的个数,用法为:start:len,例如:
- str='http://www.你的域名.com/cut-string.html'
- echo ${var:0:5}
- 其中的 0 表示左边第一个字符开始,5 表示字符的总个数。
- 结果是:http:
- 2、从左边第几个字符开始一直到结束,用法为:start,例如:
- str='http://www.你的域名.com/cut-string.html'
- echo ${var:7}
- 其中的 7 表示左边第8个字符开始
- 结果是:www.你的域名.com/cut-string.html
- 3、从右边第几个字符开始以及字符的个数,用法:0-start:len,例如:
- str='http://www.你的域名.com/cut-string.html'
- echo ${str:0-15:10}
- 其中的 0-6 表示右边算起第6个字符开始,10 表示字符的个数。
- 结果是:cut-string
- 3、从右边第几个字符开始一直到结束,用法:0-start,例如:
- str='http://www.你的域名.com/cut-string.html'
- echo ${str:0-4}
- 其中的 0-6 表示右边算起第6个字符开始,10 表示字符的个数。
- 结果是:html
- 注:(左边的第一个字符是用 0 表示,右边的第一个字符用 0-1 表示)
inux中shell截取字符串方法总结的更多相关文章
- linux中shell截取字符串方法总结
截取字符串的方法一共有八种,主要为以下方法 shell中截取字符串的方法有很多中, ${expression}一共有9种使用方法. ${parameter:-word} ${parameter:=wo ...
- shell截取字符串方法
shell中截取字符串的方法有很多中, ${expression}一共有9种使用方法.${parameter:-word}${parameter:=word}${parameter:?word}${p ...
- Shell 截取字符串方法
原文链接 方法1 "${varible##*string}" 从左向右截取最后一个string后的字符串 e.g. exampleString="abc//888//ab ...
- shell截取字符串的方法
参考文献: linux中shell截取字符串方法总结 [Linux]如何在Shell脚本中计算字符串长度? 截取字符串的方法一共有八种,主要为以下方法 shell中截取字符串的方法有很多中, ${ex ...
- shell截取字符串的8种方法
参考文献: linux中shell截取字符串方法总结 [Linux]如何在Shell脚本中计算字符串长度? 截取字符串的方法一共有八种,主要为以下方法 shell中截取字符串的方法有很多中, ${ex ...
- Linux Shell 截取字符串
Linux Shell 截取字符串 shell中截取字符串的方法很多 ${var#*/} ${var##*/} ${var%/*} ${var%%/*} ${var:start:len} ${var: ...
- EL表达式中如何截取字符串
EL表达式中如何截取字符串 可以截取,用fn函数:<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/ ...
- Android中如何截取字符串中某个字符之前或之后的字符串
代码改变世界 Android中如何截取字符串中某个字符之前或之后的字符串 //截取#之前的字符串 String str = "sdfs#d"; str.substring(0, s ...
- java中subString、split、stringTokenizer三种截取字符串方法的性能比较(转)
最近在阅读java.lang下的源码,读到String时,突然想起面试的时候曾经被人问过:都知道在大数据量情况下,使用String的split截取字符串效率很低,有想过用其他的方法替代吗?用什么替代? ...
随机推荐
- 给Android系统安装busybox
转自:http://blog.csdn.net/lxgwm2008/article/details/38925051 busybox号称Linux平台的瑞士军刀,它集成了100多个最常用的Linux命 ...
- chrome 不支持window.webkitNotifications.createNotification消息通知API了
今天惊奇的发现,chrome22里已经不支持window.webkitNotifications.createHTMLNotification方法了: 但是,在chrome extension里还可以 ...
- LeetCode——Balanced Binary Tree(判断是否平衡二叉树)
问题: Given a binary tree, determine if it is height-balanced. For this problem, a height-balanced bin ...
- Hadoop 大数据第一天
大数据第一天 1.Hadoop生态系统 1.1 Hadoop v1.0 架构 MapReduce(用于数据计算) HDFS(用于存储数据) 1.2 Hadoop v2.0 架构 MapReduce(用 ...
- sqlmap和burpsuite绕过csrf token进行SQL注入检测
利用sqlmap和burpsuite绕过csrf token进行SQL注入 转载请注明来源:http://www.cnblogs.com/phoenix--/archive/2013/04/12/30 ...
- Maven 的插件和生命周期的绑定
一.Maven 的生命周期 Maven 的生命周期是对所有的构建过程进行抽象和统一.Maven 的生命周期是抽象的,这意味着生命周期本身不做任何实际的工作,生命周期只是定义了一系列的阶段,并确定这些阶 ...
- Query Mobile学习笔记
1.获取jQuery mobile 文件,访问jQuerymobile网站下载 (貌似使用jquery mobile后,jquery会自动在网页中添加一些class类,第一次知道的我是被吓呆的!!) ...
- python: DOM 小实例
一.全选 全部取消 反选 全选:选择指定的所有项目. 全部取消: 取消所有选定的项目. 反选: 选择未选定的,之前已选定的则取消. <!DOCTYPE html> <html la ...
- *HDU1800字典树
Flying to the Mars Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...
- Mac 系统环境变量配置
Mac 系统环境变量配置 例如这里要配置一下 QUICK_V3_ROOT 的环境变量 1.打开终端 输入 vim ~/.bash_profile 2.一直回车 知道出现以下选项 按 E 编辑 ...