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中字符串截取的更多相关文章

  1. c#中字符串截取使用的方法

    AndyZhang welcome to java world c#中字符串截取使用的方法 String substring(int beginIndex) String substring(int ...

  2. 【2017-06-27】Js中获取地址栏参数、Js中字符串截取

    一.Js中获取地址栏参数 //从地址栏获取想要的参数 function GetQueryString(name) { var reg = new RegExp("(^|&)" ...

  3. javascript、jquery 、C#、sqlserveer、mysql、oracle中字符串截取的区别和用法

    下标从0开始 ,并且包括起始位 javascript 中字符串截取 : substring(Number start,Number end) var substr = "liuguangfa ...

  4. shell中字符串操作【转】

    转自:http://blog.chinaunix.net/uid-29091195-id-3974751.html 我们所遇到的编程语言中(汇编除外)都少不了字符串处理函数吧,当然shell编程也不例 ...

  5. Shell中字符串、数值的比较

    原文:http://apps.hi.baidu.com/share/detail/31263915 在shell中字符串与数值的比较方法是不同的,要注意区分 整数比较:    -eq       等于 ...

  6. Shell中字符串的切割、拼接、比较、替换

    [截取] 一.Linux shell 截取字符变量的前8位,有方法如下: expr substr “$a” 1 8 : 二.按指定的字符串截取 第一种方法: ${varible##*string} # ...

  7. JavaScript中字符串截取函数slice()、substring()、substr()

    在js中字符截取函数有常用的三个slice().substring().substr()了,下面我来给大家介绍slice().substring().substr()函数在字符截取时的一些用法与区别吧 ...

  8. Shell脚本字符串截取方法总结

    Shell脚本8种字符串截取方法总结转自:https://www.cnblogs.com/ralphdc/p/8032335.html Linux 的字符串截取很有用.有八种方法.假设有变量 var= ...

  9. Thinkphp 3.2中字符串截取

    将此方法放到Thinkphp/Common/function.php里/* * 字符串截取函数 * 大白驴 * 2016-11-29 qq 675835721 * */function msubstr ...

随机推荐

  1. java.net.BindException: Address already in use: JVM_Bind <null>:8080错误

    今天打开myeclipse出现java.net.BindException: Address already in use: JVM_Bind <null>:8080错误 从网上搜了一下大 ...

  2. angular.extend(dst,src)的简单示例

    自我认为这个方法跟angular.copy(src,dst)有点相似.在angular.extend({},src)时,就可以画等号.这个src只代表一个对象.代码如下:(注意这个src可以有多个对象 ...

  3. Linux命令之Nano基础指南

    Nano基础指南 1.  Nano基础 目的 这是篇nano简明使用指南,帮助你快速了解nano的基本用法.如想获取更多的帮助信息,请参阅: http://www.nano-editor.org 打开 ...

  4. PHP AES128加密解密

    <?php /** * Class AES */ class AES { public static function encrypt($input, $key) { $size = mcryp ...

  5. C# datatable to list

    C# DataTable 和List之间相互转换的方法 好库文章 » 软件开发 » .NET » C# 发布者:好饱  发布日期:2013-1-27 22:17:49   更新日期:2013-1-27 ...

  6. 调用SMTP发送有附件的邮件

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  7. 埃及分数问题_迭代加深搜索_C++

    一.题目背景 http://codevs.cn/problem/1288/ 给出一个真分数,求用最少的1/a形式的分数表示出这个真分数,在数量相同的情况下保证最小的分数最大,且每个分数不同. 如 19 ...

  8. Windows ToolTips简要介绍(转)

    原文转自 https://blog.csdn.net/sesiria/article/details/77450151 Windows 标准控件ToolTips简要介绍 参考文档 MSDN https ...

  9. AC日记——[HAOI2007]覆盖问题 bzoj 1052

    1052 思路: 二分答案: 二分可能的长度: 然后递归判断长度是否可行: 先求出刚好覆盖所有点的矩形: 可行的第一个正方形在矩形的一个角上: 枚举四个角上的正方形,然后删去点: 删去一个正方形后,递 ...

  10. javascript 仿面向对象编程实例代码(私有,公共变量。。。)

    //定义一个javascript类 function JsClass(privateParam,publicParam){//构造函数 var priMember = privateParam; // ...