1. shell中截取字符串的方法有很多中,
  2. ${expression}一共有9种使用方法。
  3. ${parameter:-word}
  4. ${parameter:=word}
  5. ${parameter:?word}
  6. ${parameter:+word}
  7. 上面4种可以用来进行缺省值的替换。
  8. ${#parameter}
  9. 上面这种可以获得字符串的长度。
  10. ${parameter%word} 最小限度从后面截取word
  11. ${parameter%%word} 最大限度从后面截取word
  12. ${parameter#word} 最小限度从前面截取word
  13. ${parameter##word} 最大限度从前面截取word
  14. 上面4个就是用来截取字符串的方法了。
  15. 有了着四种用法就不必使用cut命令来截取字符串了
  16. 第一种又可以分为四种情况,下面一一介绍。
  17.  
  18. 1、使用 # 号操作符。用途是从左边开始删除第一次出现子字符串即其左边字符,保留右边字符。用法为#*substr,例如:
  19. str='http://www.你的域名.com/cut-string.html'
  20. echo ${str#*//}
  21. 得到的结果为www.你的域名.com/cut-string.html,即删除从左边开始到第一个"//"及其左边所有字符2、使用 ## 号操作符。用途是从左边开始删除最后一次出现子字符串即其左边字符,保留右边字符。用法为##*substr,例如:
  22. str='http://www.你的域名.com/cut-string.html'
  23. echo ${str##*/}
  24. 得到的结果为cut-string.html,即删除最后出现的"/"及其左边所有字符
  25. 3、使用 % 号操作符。用途是从右边开始删除第一次出现子字符串即其右边字符,保留左边字符。用法为%substr*,例如:
  26. str='http://www.你的域名.com/cut-string.html'
  27. echo ${str%/*}
  28. 得到的结果为http://www.你的域名.com,即删除从右边开始到第一个"/"及其右边所有字符
  29. 4、使用 %% 号操作符。用途是从右边开始删除最后一次出现子字符串即其右边字符,保留左边字符。用法为%%substr*,例如:
  30. str='http://www.你的域名.com/cut-string.html'
  31. echo ${str%%/*}
  32. 得到的结果为http://www.你的域名.com,即删除从右边开始到最后一个"/"及其右边所有字符
  33.  
  34. 第二种也分为四种,分别介绍如下:
  35. 1、从左边第几个字符开始以及字符的个数,用法为:start:len,例如:
  36. str='http://www.你的域名.com/cut-string.html'
  37. echo ${var:0:5}
  38. 其中的 0 表示左边第一个字符开始,5 表示字符的总个数。
  39. 结果是:http:
  40. 2、从左边第几个字符开始一直到结束,用法为:start,例如:
  41. str='http://www.你的域名.com/cut-string.html'
  42. echo ${var:7}
  43. 其中的 7 表示左边第8个字符开始
  44. 结果是:www.你的域名.com/cut-string.html
  45. 3、从右边第几个字符开始以及字符的个数,用法:0-start:len,例如:
  46. str='http://www.你的域名.com/cut-string.html'
  47. echo ${str:0-15:10}
  48. 其中的 0-6 表示右边算起第6个字符开始,10 表示字符的个数。
  49. 结果是:cut-string
  50. 3、从右边第几个字符开始一直到结束,用法:0-start,例如:
  51. str='http://www.你的域名.com/cut-string.html'
  52. echo ${str:0-4}
  53. 其中的 0-6 表示右边算起第6个字符开始,10 表示字符的个数。
  54. 结果是:html
  55. 注:(左边的第一个字符是用 0 表示,右边的第一个字符用 0-1 表示)

inux中shell截取字符串方法总结的更多相关文章

  1. linux中shell截取字符串方法总结

    截取字符串的方法一共有八种,主要为以下方法 shell中截取字符串的方法有很多中, ${expression}一共有9种使用方法. ${parameter:-word} ${parameter:=wo ...

  2. shell截取字符串方法

    shell中截取字符串的方法有很多中, ${expression}一共有9种使用方法.${parameter:-word}${parameter:=word}${parameter:?word}${p ...

  3. Shell 截取字符串方法

    原文链接 方法1 "${varible##*string}" 从左向右截取最后一个string后的字符串 e.g. exampleString="abc//888//ab ...

  4. shell截取字符串的方法

    参考文献: linux中shell截取字符串方法总结 [Linux]如何在Shell脚本中计算字符串长度? 截取字符串的方法一共有八种,主要为以下方法 shell中截取字符串的方法有很多中, ${ex ...

  5. shell截取字符串的8种方法

    参考文献: linux中shell截取字符串方法总结 [Linux]如何在Shell脚本中计算字符串长度? 截取字符串的方法一共有八种,主要为以下方法 shell中截取字符串的方法有很多中, ${ex ...

  6. Linux Shell 截取字符串

    Linux Shell 截取字符串 shell中截取字符串的方法很多 ${var#*/} ${var##*/} ${var%/*} ${var%%/*} ${var:start:len} ${var: ...

  7. EL表达式中如何截取字符串

    EL表达式中如何截取字符串 可以截取,用fn函数:<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/ ...

  8. Android中如何截取字符串中某个字符之前或之后的字符串

    代码改变世界 Android中如何截取字符串中某个字符之前或之后的字符串 //截取#之前的字符串 String str = "sdfs#d"; str.substring(0, s ...

  9. java中subString、split、stringTokenizer三种截取字符串方法的性能比较(转)

    最近在阅读java.lang下的源码,读到String时,突然想起面试的时候曾经被人问过:都知道在大数据量情况下,使用String的split截取字符串效率很低,有想过用其他的方法替代吗?用什么替代? ...

随机推荐

  1. 给Android系统安装busybox

    转自:http://blog.csdn.net/lxgwm2008/article/details/38925051 busybox号称Linux平台的瑞士军刀,它集成了100多个最常用的Linux命 ...

  2. chrome 不支持window.webkitNotifications.createNotification消息通知API了

    今天惊奇的发现,chrome22里已经不支持window.webkitNotifications.createHTMLNotification方法了: 但是,在chrome extension里还可以 ...

  3. LeetCode——Balanced Binary Tree(判断是否平衡二叉树)

    问题: Given a binary tree, determine if it is height-balanced. For this problem, a height-balanced bin ...

  4. Hadoop 大数据第一天

    大数据第一天 1.Hadoop生态系统 1.1 Hadoop v1.0 架构 MapReduce(用于数据计算) HDFS(用于存储数据) 1.2 Hadoop v2.0 架构 MapReduce(用 ...

  5. sqlmap和burpsuite绕过csrf token进行SQL注入检测

    利用sqlmap和burpsuite绕过csrf token进行SQL注入 转载请注明来源:http://www.cnblogs.com/phoenix--/archive/2013/04/12/30 ...

  6. Maven 的插件和生命周期的绑定

    一.Maven 的生命周期 Maven 的生命周期是对所有的构建过程进行抽象和统一.Maven 的生命周期是抽象的,这意味着生命周期本身不做任何实际的工作,生命周期只是定义了一系列的阶段,并确定这些阶 ...

  7. Query Mobile学习笔记

    1.获取jQuery mobile 文件,访问jQuerymobile网站下载 (貌似使用jquery mobile后,jquery会自动在网页中添加一些class类,第一次知道的我是被吓呆的!!) ...

  8. python: DOM 小实例

    一.全选 全部取消  反选 全选:选择指定的所有项目. 全部取消: 取消所有选定的项目. 反选: 选择未选定的,之前已选定的则取消. <!DOCTYPE html> <html la ...

  9. *HDU1800字典树

    Flying to the Mars Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Other ...

  10. Mac 系统环境变量配置

    Mac 系统环境变量配置 例如这里要配置一下 QUICK_V3_ROOT 的环境变量 1.打开终端 输入  vim ~/.bash_profile 2.一直回车 知道出现以下选项 按 E 编辑     ...