zoukankan      html  css  js  c++  java
  • shell 变量删除与替换

    1、从左往右删除匹配内容
    [root@localhost ~]# name=www.baidu.com.cn
    [root@localhost ~]# echo ${name} #获取变量值
    www.baidu.com.cn
    [root@localhost ~]# echo ${#name} #获取变量长度
    16
    [root@localhost ~]# echo ${name#*.} #从左往右最短匹配
    baidu.com.cn
    [root@localhost ~]# echo ${name##*.} #从左往右最长匹配
    cn
    
    2、从右往左删除匹配内容
    [root@localhost ~]# echo ${name%.*} #从右往左最短匹配
    www.baidu.com
    [root@localhost ~]# echo ${name%%.*} #从右往左最短匹配
    www
    
    3、切片
    [root@localhost ~]# echo ${name:0:3} #从0索引切到3索引,包前不报后,切出前三位
    www
    [root@localhost ~]# echo ${name:0} #从0索引处开始截取
    www.baidu.com.cn
    
    4、变量内容替换
    [root@localhost ~]# echo ${name}
    www.baidu.com.cn
    [root@localhost ~]# echo ${name/baidu/qq}
    www.qq.com.cn
    
    5、变量替代

    [root@localhost ~]# echo $name
    www.baidu.com.cn
    [root@localhost ~]# x=${name-haha}
    [root@localhost ~]# echo $x
    www.baidu.com.cn
    
    [root@localhost ~]# unset name #此时,无name变量
    [root@localhost ~]# x=${name-haha}
    [root@localhost ~]# echo $x
    haha
    
    [root@localhost ~]# name=  #此时,虽然有name变量,但是值为空
    [root@localhost ~]# x=${name-haha}
    [root@localhost ~]# echo $x
    
    
    
    6、变量自增

    注意:符号在前或者在后,对最后变量的值无影响,仅仅对运算结果有影响。

    [root@localhost ~]# i=1
    [root@localhost ~]# let i++
    [root@localhost ~]# echo $i
    2
    [root@localhost ~]# let --i
    [root@localhost ~]# echo $i
    1
    
    小脚本
    统计某网段内可用ip
    [root@localhost ~]# cat ping_ip.sh 
    #!/bin/bash
    rm -rf ip.txt &>/dev/null
    for i in {1..200}
    do
        {
        ip=100.100.100.$i
        ping -c1 -w1 $ip &>/dev/null
        if [ $? -eq 0 ];then
            echo "$ip"|tee -a ip.txt
       fi
    }&
    done
    wait
    nu=`cat ip.txt |wc -l`
    echo "可用ip个数为:$nu"
    
    
    运行结果
    [root@localhost ~]# bash ping_ip.sh 
    100.100.100.2
    100.100.100.100
    可用ip个数为:2
    
  • 相关阅读:
    codeforces 368(div 2)前三题
    codeforces 368(div 2)前三题
    hihocoder编程练习赛6+多重背包的各种姿势
    hihocoder编程练习赛6+多重背包的各种姿势
    hihocoder1077,线段树单点修改的一点小技巧
    hihocoder1077,线段树单点修改的一点小技巧
    [NOIP2013]货车运输,最大生成树+LCA
    [NOIP2013]货车运输,最大生成树+LCA
    hihocoder 1080 线段树:区间加法&赋值
    hihocoder 1080 线段树:区间加法&赋值
  • 原文地址:https://www.cnblogs.com/hjnzs/p/12218869.html
Copyright © 2011-2022 走看看