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
4、从右边第几个字符开始一直到结束,用法:0-start,例如:
    str='http://www.你的域名.com/cut-string.html'
    echo ${str:0-4}
    其中的 0-6 表示右边算起第6个字符开始,10 表示字符的个数。
    结果是:html
    注:(左边的第一个字符是用 0 表示,右边的第一个字符用 0-1 表示)

linux-----------shell的基础命令的更多相关文章

  1. LINUX二十个基础命令

    LINUX二十个基础命令 一. useradd命令 1.命令格式: useradd 选项 用户名 2.命令功能: 添加新的用户账号 3.常用参数: -c comment 指定一段注释性描述.-d 目录 ...

  2. Linux shell入门基础(六)

    六.Shell脚本编程详解 将上述五部分的内容,串联起来,增加对Shell的了解 01.shell脚本 shell: # #perl #python #php #jsp 不同的脚本执行不同的文本,执行 ...

  3. Linux shell入门基础(一)

    Linux shell入门基础(一): 01.增加删除用户: #useradd byf   userdel byf(主目录未删除)  userdel -r byf   该用户的属性:usermod 用 ...

  4. Linux环境及基础命令(一)

    Linux环境及基础命令 一.认识Linux系统 略 二.配置Linux系统远程登录 2.1虚拟机系统配置 2.11虚拟机配置 统一NAT模式 虚拟机连不上 确定VMnet8网卡的IP地址(每台虚拟机 ...

  5. Linux shell脚本基础学习详细介绍(完整版)二

    详细介绍Linux shell脚本基础学习(五) Linux shell脚本基础前面我们在介绍Linux shell脚本的控制流程时,还有一部分内容没讲就是有关here document的内容这里继续 ...

  6. Linux shell脚本基础学习详细介绍(完整版)一

    Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提.1. Lin ...

  7. 详细介绍Linux shell脚本基础学习

    Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提.1. Lin ...

  8. Linux系统优化及基础命令

    1.Linux系统优化及基础命令 2. vim编辑器 vim 操作命令 在命令模式下操作 pageup 往上翻页(重要指数****)pagedown 往下翻页(重要指数****)H 移动到屏幕首行gg ...

  9. (linux shell)第二章--命令之乐(一)

    文章来自于我的个人博客:(linux shell)第二章--命令之乐(一)    上一章我们描写叙述了一些linux shell中须要注意的一些语法.接下来我们開始了解linux shell的经常使用 ...

  10. Linux Shell 编程基础详解——吐血整理,墙裂推荐!

    第一部分:Linux Shell 简介 Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言. Shell 是指一种应用程序, ...

随机推荐

  1. PHP 数据库操作类:ezSQL

    EZSQL类介绍: 下载地址:http://www.jb51.net/codes/26393.htmlezsql是一个小型的快速的数据库操作类,可以让你很容易地用PHP操作各种数据库( MySQL.o ...

  2. 后台拼接input 后,动态获取input的值

    //前台 <input id=" /> //后台 string text = request.form["text"].toString();

  3. Apache rewrite

    Apache rewrite mod_rewrite简介和配置 实URL跳转隐藏真实地址 拟目录 域名跳转 防止盗链 Apache配置支持httpd.conf配置.htaccess配置 启用rewri ...

  4. 不想说作用域scope,因为是scopeTree,

    ps:本文前面大部分是错的,后边大部分也是错的,搞混了不要怪我................... 这篇文章讲述了一个悲伤的故事,从一个似似而非的概念一步一步到错误的理解,最后勉强正确的过程 其实我 ...

  5. python之 sqlalchemy

    one To many #!/usr/bin/env python3 # -*- coding: utf-8 -*- """ @author: zengchunyun & ...

  6. Hibernate学习笔记3

    ---恢复内容开始--- 一.hibernate如何转化jdbc代码实例[通过hibernate构建jdbc后往数据库传对象] import java.sql.Connection;import ja ...

  7. Make github as your personal maven repository

    前言: 开始用maven管理java项目后,突然发现自己写了一些通用的项目想要被别的项目依赖是件很麻烦的事.公司里项目依赖可以直接有maven仓库,但个人项目呢? github 再次显示其威力了,ex ...

  8. linq,sql,lambda转换工具(推荐新手,初学者多多使用)

    http://files.cnblogs.com/CielWater/Linqer.rar Linqer用于将sql语句转换为linq语句(暂不支持多表连接查询) http://files.cnblo ...

  9. 【iCore3应用开发平台】发布 iCore3 应用开发平台寄存器说明

    PDF下载地址:http://pan.baidu.com/s/1qYeZROC

  10. javaScript中其他类型的值转换为Boolean类型

    将javaScript中其他任意类型的值转换为对应Boolean类型的值. 一  将number类型的值转换为Boolean类型 数值为0: var myBoolean = new Boolean(0 ...