Shell脚本中字符串的一些常用操作
发布时间:2020-12-15 19:21:37 所属栏目:安全 来源:网络整理
导读:Shell脚本中字符串的一些常用操作 字符串长度 ${#string} 可以获得 $ {string}的长度 例子: string= 'How are you' echo ${#string} # 输出结果为11 字符串取子串 ${string:position:length} 在 $ {string}中,从位置 $ {position}开始提取长度为 $ {length}
Shell脚本中字符串的一些常用操作字符串长度
例子: string='How are you'
echo ${#string} # 输出结果为11
字符串取子串
例子: string='How are you'
echo ${string:4:3} # 索引从0开始,输出结果为:are
echo ${string:4} # 省略长度,默认提取至最末尾,输出结果为:are you
字符串截取(不匹配字符)
我们可以总结一下规律: 换句话来说,#总是表示左边算起,%总是表示右边算起;一个符号表示最短匹配,两个符号表示最长匹配。 我们可以利用该特点做一些有意义的事情,下面举几个例子: # 定义字符串
f=$(realpath 空间数据处理环境搭建.pdf)
# 输出该字符串变量的值,结果为/Users/tanzhenyu/Resources/Books/Python空间数据处理实战/空间数据处理环境搭建.pdf
echo $f
# 第一件事情:提取文件名称,输出结果为:空间数据处理环境搭建.pdf
echo ${f##*/}
# 第二件事情:提取文件扩展名,输出结果为:pdf
echo ${f##*.}
# 第三件事情:提取父目录,输出结果为:/Users/tanzhenyu/Resources/Books/Python空间数据处理实战
echo ${f%/*}
当然,Shell编程中我们也可以使用 # basename提取当前文件或者当前目录名称,输出结果为:空间数据处理环境搭建.pdf
echo $(basename $f)
# dirname提取父目录名称,输出结果为:/Users/tanzhenyu/Resources/Books/Python空间数据处理实战
echo $(dirname $f)
子串替换
注: 例子: # 把Windows的路径换成类UNIX的路径
f='C:Windowssystem32cmd.exe'
echo ${$f/////}
# 输出结果为:C:/Windows/system32/cmd.exe (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |