zoukankan      html  css  js  c++  java
  • shell中字符串的处理

    对字符串的处理

    包括:截取,连接,匹配,替换,翻转... ...

    一天累积一点!

    字符串的处理:
    1,截取

    方法一:
    echo $a|awk '{print substr( ,1,8)}'
    substr是awk中的一个子函数,对第一个参数的进行截取,从第一个字符开始,共截取8个字符,如果不够就从第二个字符中补充

    方法二
    echo $a|cut -b2-8
    cut:对标准输入的字符串进行处理
    cut -bn-m:以byte为单位,从第n个byte开始,取m个
    cut -bn,m:以byte为单位,截取第n,m个byte
    cut -b-n,m:以byte为单位,截取1-n,和第m个
    -c:以charactor为单位
    -d:指定分隔符,默认为tab
    -s:使标准输入中没有delimeter
    cut -f1:截取第1个域

    方法三
    a=123456
    echo $

    方法四
    使用sed截取字符串的最后两位
    echo $test |sed 's/\(.*\)\(..\)$//'
    截取字符串的前2位
    echo $test |sed 's/^\(..\)\(.*\)//'


    2,比较
    好像没有什么可以比较的

    3,连接
    $a$b
    或者
    $string

    4,翻转
    方法一
    使用rev命令

    方法二
    编写脚本实现
    #!/usr/bin/awk -f
    ################################################################
    # Description : duplicate rev in awk
    ################################################################
    {
    revline = ""
    for (i=1;i<=length;i++)
    {
    revline = substr(,i,1) revline
    }
    }
    END{print revline}

    5,匹配
    grep
    egrep
    fgrep

    6,排序

    7,替换
    bash中:
    %x=abcdabcd
    %echo $ # 只替换一个
    bbcdabcd
    %echo $ # 替换所有
    bbcdbbcd
    sh中:
    ??
    如何替换/
    使用sed
    替换所有匹配
    echo $test |sed 's/xx/yy'
    替换单个匹配
    ??


    8,得到字符串的长度:
    bash当中
    $
    或者
    expr "$VAR" : '.*'

    9,判断字符串是否为数字

    10,得到字符串中某个字符的重复次数
    echo $a |tr "x" "\n" |wc -l
    得到的结果需要减去1
    或者
    echo $a |awk -F"x" '{print NF-1}'

    11,得到字符串中某个string的重复次数


    12,将一批文件中的所有string替换
    for i in file_list
    do
    vi $i <<-!
    :g/xxxx/s//XXXX/g
    :wq
    !
    done

    13,如何将字符串内每两个字符中间插入一个字符
    使用sed
    echo $test |sed 's/../&[insert char]/g'

    aliyun活动 https://www.aliyun.com/acts/limit-buy?userCode=re2o7acl
  • 相关阅读:
    [一起面试AI]NO.9 如何判断函数凸或非凸
    [一起面试AI]NO.8 在机器学习中,常用的损失函数有哪些?
    [一起面试AI]NO.5过拟合、欠拟合与正则化是什么?
    [一起面试AI]NO.4特征工程主要包括什么?
    [一起面试AI]NO.3分类问题常用的性能度量指标有哪些
    MySQL中自增ID修改起始值
    折半查找算法(Python版)
    彻底解决安卓7.0及以上版本抓包https失败
    Charles抓包2-Charles抓取https请求
    Charles抓包1-Charles安装汉化(附正版注册码)
  • 原文地址:https://www.cnblogs.com/wangbin/p/1540256.html
Copyright © 2011-2022 走看看