shell- 字符串处理 扩展的脚本技巧 正则表达式

Posted linyouyi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell- 字符串处理 扩展的脚本技巧 正则表达式相关的知识,希望对你有一定的参考价值。

字符串截取的方法
  方法一:使用${}表达式
    格式:${var:起始位置:长度}
  方法二:使用expr substr
    格式:expr substr "$var" 起始位置 长度
  方法三:使用cut工具
    格式:echo $var | cut -b 起始位置 结束位置

取目录位置
  格式:dirname "字符串"
取文档的基本名称
  格式:basename "字符串"

字符串替换的方法
  只替换第一个匹配的结果
    格式:${var/old/new}
  替换全部匹配的结果
    格式:${var//old/new}

字符串掐头
  从左向右,最短匹配删除
    格式:${变量名#*关键词}
  从左向右,最长匹配删除
    格式:${变量名##*关键词}
字符串去尾
  从右向左,最短匹配删除
    格式:${变量名%关键词*}
  从右向左,最长匹配删除
    格式:${变量名%%关键词*}

批量修改文件后缀名

[[email protected] ~]$ cat mv.sh
#!/bin/bash
for FILE in *.doc
do
    mv $FILE ${FILE%.doc}.txt
done

 

变量初始值的检测及设置
  取值,${var:-word}
    若变量var已经存在且非null,则返回$var的值
    否则返回临时字符串word,变量var值不变
  赋值,${var:=word}
    若变量var已经存在且非null,则返回$var的值
    否则返回字符串word,且把word赋值给var变量

shell数组定义/赋值
  方法一:整体赋值
    格式:数组名=(value1 value2 value3)
    示例:VU=(user1 ftp mail python)
  方法二:为单个元素赋值
    格式:数组名[下标]=值
    示例:VU[0]=ftp,VU[1]=mail,VU[2]=python
输出数组元素
  获取单个元素
    格式:${数组名[下标]}
  获取所有元素
    格式:${数组名[@]}
  获取数组元素个数(长度)
    格式:${#数组名[@]}
  获取连续的多个数组元素
    格式:${数组名[@]:起始下标:元素个数}

正则表达式

............................




















































以上是关于shell- 字符串处理 扩展的脚本技巧 正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

shell脚本——正则表达式Sed与Awk文本处理工具详解

Shell脚本——正则表达式

shell脚本编程之正则表达式(扩展正则表达式sed)

正则表达式和Shell脚本。

Shell 编程 正则表达式

shell脚本扩展