In every walk with nature one receives far more than he seeks.
每一次和自然同行,都会有意外的收货。
Shell脚本语言(语法-字符串)
1.单引号
name='wt'
echo $name
2.双引号
name="wt"
echo $name
3.字符串拼接
4.字符串获取长度
5.字符串操作
5.1截取
#5.5 字符串截取
name="I hava a Dream"
#方式一:从字符串第3个开始截取,截取3个
result=${name:2:3}
echo ${result}
length=${#name}
result=${name:2:length-1}
echo ${result}
#也可以写成
result2=${name:2:${#name}-1}
echo ${result2}
#也可以写成
result3=${name:2}
echo ${result3}
6.字符串删除
6.1 语法一 ${变量名#删除字符串 正则表达式}
规则:从左到右进行匹配,匹配到才可以删除
6.2 语法二 ${变量名##删除字符串 正则表达式}
作用 从字符串结尾(右边)开始匹配要删除字符串
总结:语法一和语法二都是从左到右删除,但是查找的方向不同
6.3 语法三 ${变量名%删除字符串 正则表达式}
从字符串结尾开始匹配,删除匹配的字符串
总结:
#
表示 删除方向:从左往右 查询方向:从左到右
##
表示 删除方向:从左到右 查询方向:从右到左
%
表示 删除方向:从右到左 查询方向:从右到左
%%
表示 删除方向:从右到左 查询方向:从左到右
案例
1.删除中间字符串hava如何实现?
name="I hava a Dream"
result=${name%h*m}
result2=${name#I*a*a}
echo ${result}${result2}
2.文件操作
path="/Users/mac/Desktop/GitHub/iOS_AudioVideoProcessing/Shell/hello.sh"
#获取文件名称
result=${path#/*/*/*/*/*/*/}
echo ${result}
#获取文件路径
result2=${path%h*h}
echo ${result2}
GitHub参考代码:https://github.com/Goddreamwt/iOS_AudioVideoProcessing/tree/master/Shell