美文网首页
2020-04-01:shell的var字符截取

2020-04-01:shell的var字符截取

作者: 烂笔头2020 | 来源:发表于2020-04-01 17:41 被阅读0次

今天在shell脚本用到var截取文件名,感觉挺实用的,所以抄了一下稍微比较全面的的笔记,之后会继续补充,下面是工作中用到的实例:

#!/bin/bash
#目录存在
if [ -d "$linux_dir" ]; then
    #读取目录
    ls $linux_dir | while read fileName
    do 
        if [[ "$fileName" == Columns_* ]];then
            var=$fileName
            py_name=${var:8:20}
            #删除旧的py
            rm -rf $py_dir/$py_name.py
            #生成新的py
            cat $linux_dir$fileName |  python /home/lee/gdfs/mapper20200331-1.py $py_name  > $py_dir/$py_name.py
        fi
    done
fi

参考文档:https://www.cnblogs.com/zwgblog/p/6031256.html

假设有变量 var=http://www.aaa.com/123.htm.

  1. 在这里 # 号截取,删除左边字符,保留右边字符。
echo ${var#*//}
#输出结果
www.aaa.com/123.htm

2.在这里 ## 号截取,删除左边字符,保留右边字符。

echo ${var##*/}

下面为注释
##*/ 表示从左边开始删除最后(最右边)一个 / 号及左边的所有字符
即删除 http://www.aaa.com/
结果是 123.htm
  1. %号截取,删除右边字符,保留左边字符
echo ${var%/*}

%/* 表示从右边开始,删除第一个 / 号及右边的字符
结果是:http://www.aaa.com
  1. %% 号截取,删除右边字符,保留左边字符
echo ${var%%/*}

%%/* 表示从右边开始,删除最后(最左边)一个 / 号及右边的字符
结果是:http:
  1. 从左边第几个字符开始,及字符的个数
echo ${var:0:5}
其中的 0 表示左边第一个字符开始,5 表示字符的总个数。
结果是:http:
  1. 从左边第几个字符开始,一直到结束。
echo ${var:7}
其中的 7 表示左边第8个字符开始,一直到结束。
结果是 :www.aaa.com/123.htm
  1. 从右边第几个字符开始,及字符的个数
echo ${var:0-7:3}
其中的 0-7 表示右边算起第七个字符开始,3 表示字符的个数。
结果是:123
  1. 从右边第几个字符开始,一直到结束。
echo ${var:0-7}
表示从右边第七个字符开始,一直到结束。
结果是:123.htm

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

相关文章

  • 2020-04-01:shell的var字符截取

    今天在shell脚本用到var截取文件名,感觉挺实用的,所以抄了一下稍微比较全面的的笔记,之后会继续补充,下面是工...

  • mac 终端常见命令

    切换shell 截取字符串 shell字符串的截取 shell字符串的截取 Shell脚本8种字符串截取方法总...

  • 字符串截取

    获取字符串长度 ${#var} 字符串截取 切片 ${var:m:n}从m处截取之后n个字符${var:0-m:n...

  • js 比例4:3

    var e = 4:3; var n = e.indexOf(':'); //字符串截取 获取:位置 var r ...

  • shell字符截取

    截取以vm开头的单词 grep -o vm.* text | cut -d' ' -f1 截取网段内的存活主机 n...

  • js 截取特殊字符前后的所有字符串

    截取/前的字符 var index = pythonpath.lastIndexOf("/"); Writepat...

  • 截取

    var str = "aaabbbcccdddeeefff"; //截取之前的字符 str = str.m...

  • Mac常用命令

    linux shell 字符串操作详解 (长度,读取,替换,截取,连接,对比,删除,位置 )Linux Shell...

  • swift重点语法和算法相关的

    字符串的操作 字符串截取: 获取某个字符:var afterChar = indexStr[indexStr.in...

  • 结合正则表达式的字符串分析与处理

    JS实现: 1.截取特定字符开头的数字部分,如:Channel 18,截取出18 var channel_arr ...

网友评论

      本文标题:2020-04-01:shell的var字符截取

      本文链接:https://www.haomeiwen.com/subject/txbauhtx.html