zoukankan      html  css  js  c++  java
  • shell中取字符串子串的几种方式 截取substr

    shell中取字符串子串的几种方式

    echo "123456789" | awk '{print substr($0,5,2)}'

    截取

    1)awk中函数substr
    substr(源字符串,开始索引,长度)   开始索引以0开始
    示例:
    awk '{$a=substr($0,0,2);print $a;}' filename
    假设文件中为只有一行为abcdefg,则返回结果为ab


    (2)expr substr 
    expr substr 字符串 开始索引 长度   开始索引以1开始
    示例:

    expr substr "abc" 2 2
    显示bc

    (3)echo ${str:开始索引} 或 echo ${str:开始索引:长度}   开始索引为0
    示例:
    str="abc"
    echo ${str:1},显示bc
    echo ${str:1:2},显示bc

    https://blog.csdn.net/Sharp_UP/article/details/74990277

    1、cut命令截取


    使用说明
    cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。
    如果不指定 File 参数,cut 命令将读取标准输入。必须指定 -b、-c 或 -f 标志之一。
    主要参数
    -b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。
    -c :以字符为单位进行分割。
    -d :自定义分隔符,默认为制表符。
    -f :与-d一起使用,指定显示哪个区域。
    -n :取消分割多字节字符。仅和 -b 标志一起使用。如果字符的最后一个字节落在由 -b 标志的 List 参数指示的<br />范围之内,该字符将被写出;否则,该字符将被排除。
    1)、使用cut -c 可以截取以字符为单位的串区间


    注:以 - 作为分隔符是截取对应区间内的串

           以 ,作为分隔符是截取对应位置的字符

    2)、cut -b 用法和cut -c 相同,不同的是以字节为单位

    2、# 号截取,删除左边字符,保留右边字符。

    echo ${var#*//}
    其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符

    3、 ## 号截取,删除左边字符,保留右边字符。

    echo ${var##*/}
    ##*/ 表示从左边开始删除最后(最右边)一个 / 号及左边的所有字符


    4、 %号截取,删除右边字符,保留左边字符

    echo ${var%/*}
    %/* 表示从右边开始,删除第一个 / 号及右边的字符


    5、%% 号截取,删除右边字符,保留左边字符

    echo ${var%%/*}
    %%/* 表示从右边开始,删除最后(最左边)一个 / 号及右边的字符


    6、 从左边第几个字符开始,及字符的个数

    echo ${var:0:5}
    其中的 0 表示左边第一个字符开始,5 表示字符的总个数。


    7、 从左边第几个字符开始,一直到结束。

    echo ${var:7}
    其中的 7 表示左边第8个字符开始,一直到结束。


    8、从右边第几个字符开始,及字符的个数

    echo ${var:0-7:3}
    其中的 0-7 表示右边算起第七个字符开始,3 表示字符的个数。


    8. 从右边第几个字符开始,一直到结束。

    echo ${var:0-7}
    表示从右边第七个字符开始,一直到结束。

    注:左边的第一个字符是用 0 表示,右边的第一个字符用 0-1 表示

  • 相关阅读:
    按行打印二叉树结点值
    Kafka消息队列(继续深挖)
    【Java IO模式】Java BIO NIO AIO总结
    JAVA线程池的执行过程
    CentOS7升级版本
    【转】KVM中打开virt-manager报错或者将其显示为中文界面的办法
    【转】linux kvm虚拟机配置及常见问题处理
    【转】关于Quartus ii无法识别Modelsim路径的问题
    【转】[git]error: pack-objects died of signal
    storm kafka整合
  • 原文地址:https://www.cnblogs.com/hanxing/p/7599105.html
Copyright © 2011-2022 走看看