shell 命令—字符串处理
Posted 风水月
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell 命令—字符串处理相关的知识,希望对你有一定的参考价值。
String处理
fileName="fengshuiyue.png"
#获取fileName字符串长度(len=15)
len=${#fileName}
#字符串截取
#从位置12获取子串(png)
echo ${fileName:12}
#获取从0到位置11的子串(fengshuiyue)
echo ${fileName:0:len-4}
#替换
#替换第一次匹配abc为txt(fengshuiyue.txt),下述两个方式均可
echo ${fileName/png/txt}
echo ${fileName/'png'/'txt'}
#替换所有匹配的字符串(fengshaiyae.png)
echo ${fileName//u/a}
#替换从0位置开始第一次匹配的子串(shuishuiyue.png)
echo ${fileName/#feng/shui}
#替换从结尾开始第一次匹配的子串(fengshuiyue.pxt)
echo ${fileName/%ng/xt}
#删除,下述只删除第一次匹配的字符串
#从位置0开始,删除最短匹配(feng)的子串(shuiyue.png)
echo ${fileName#feng}
#从位置0开始,删除最长匹配(feng)的子串(shuiyue.png)
echo ${fileName##feng}
#从结尾开始,删除最短匹配(png)的子串(fengshuiyue)
echo ${fileName%feng}
#从结尾开始,删除最长匹配(png)的子串(fengshuiyue)
echo ${fileName%%feng}
file='/home/fengshuiyue/fengshuiyue.png'
#获取文件名(fengshuiyue.png)
fileName=${file##*/}
#获取文件所在目录(/home/fengshuiyue)
filePath=${file%/*}
以上是关于shell 命令—字符串处理的主要内容,如果未能解决你的问题,请参考以下文章