bash内置的字符串处理工具

本文详细介绍Shell脚本中字符串切片、模式匹配、大小写转换及文件管理命令的使用技巧,包括mktemp和install的高级应用。


 字符串切片 ${var:offset:number}
 例如: name="Obama"|echo  ${name:0:2}
        或者echo ${name:1}

 取最右侧的字符串  ${name: -3}  必须在:后面加一个空格

 基于模型取字串
    ${var#*word} 其中word可以使任意字符;功能:自左而又,
查找var变量所存储的字符串中,第一次出现word,删除字符串开头至
第一次出现word字符之间的所有字符。
   例如   
name="123"|echo ${name#*2}   这样就会显示3,删除一次2
name="122323233"|echo ${name##*2}  表示删除最后一次出现2之前的所有字符
  
#表示左-->删除  ##*删最后一次以及之前  #*只删一次
%表示右-->删除  %%*删最后一次以及之前  %*只删一次


例如
url=http://www.123.com:8080
${url##*:}  取端口 8080
${url%%*:}  取写协议http

查找替换

${var/pattern/substi}  查找var所表示中第一次被p..匹配到的替换为s..
${var//pattern/substi}  查找var所表示中所有被p..匹配到的替换为s..

${var/#pattern/substi}  只替换行首为p..的
${var/%pattern/substi}  只替换行尾为p..的


查找删除

${var/pattern}   第一次并且删除
${var//pattern}   所有删除
${var/#pattern}  删除行首出现一次
${var/%pattern}  删除行尾出现一次

字符大小写替换
${var^^}  所有小写-->大写
${var,,}  所有大写-->小写


变量赋值
${var:-value} 如果var为空或未设置,返回value;否则返回var

${var:=value} 如果var为空或未设置,返回value,
并且将value赋值var;否则返回var

${var:+value} 如果var不空,返回value
${var:?error_info} 如果var为空或未设置,返回error_info;否则返回var值


为脚本程序使用配置文件
    (1)定义文本文件,每行定义“name=value”
    (2)在脚本中(source或者.)此文件即可

临时文件创建命令
mktemp 


XXX至少出现3次 
-d 创建临时目录

mktemp /tmp/test.XXX 
就会用到 字母数字等62个变化随机填充XXX 

mktemp --tmpdir=/path  a.XXX
指明目录的情况下创建临时文件


引用  tmpfile=$(mktemp /tmp/test.XXX)

install命令

install -m 700  -d  testdir  创建一个权限为700的目录

install file1 [file2..] 目录
install  -t 目录  file...
-d 创建空目录
选项
    -m 制定权限
    -o 指定属主
    -g 指明属组


 

 

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值