url="http://www.google.com/test.htm"
${url#word} 最小限度从左边截取word
${url##word} 最大限度从左边截取word
${url%word} 最小限度从右边截取word
${url%%word} 最大限度从右边截取word
示例:
1.#号截取
${url#*/} #左边搜索,删除第一次出现/前面所有内容
结果:www.google.com/test.htm
2.##号截取
${url##*/} #右边搜索,删除最后一次出现/前面所有内容
结果:test.htm
3.%号截取
${url%/*} #右边搜索,删除第一次出现/后面所有内容
结果:http://www.google.com
4.%%号截取
${url%%/*} #右边搜索,删除最后一次出现/后面所有内容
结果:http:
5.字符串拼接
newstr=${str}".txt" #后面直接跟字符串
6.字符串长度
${#url} 结果:29
7.字符串截取
${url:0:5} #左边第0个字符开始,截取5个长度,结果:http:
${url:0-8:4} #右边第8个字符开始,截取4个长度,结果:test
8. 字符串替换
${string/substring/replacement} 使用$replacement, 来代替第一个匹配的$substring
${string//substring/replacement} 替换所有匹配的$substring
${string/#substring/replacement} 替换前缀
${string/%substring/replacement} 替换后缀
示例:
${url/ht/mm} mmtp://www.google.com/test.htm
${url//ht/mm} mmtp://www.google.com/test.mmm
${url/#http/rtsp} rtsp://www.google.com/test.htm
${url/%htm/txt} http://www.google.com/test.txt
9. 正则表达式提取字符串
str="-rw-r--r-- 1 504 505 12 Mar 30 11:45 aaaa52646bc7_2017033019.lzo -rw-r--r-- 1 504 505 4060324 Mar 30 10:07 ddbca433e55dcc8efe8fa27c7a8f6f34e" echo $str | sed 's/\(.*\)\([0-9a-f]\{12\}_[0-9]\{10\}\.lzo\)\(.*\)/\2/g'
正则表达式分组,提取\2字符串,打印:aaaa52646bc7_2017033019.lzo
10. 字符串转化为数字
a="08" echo $a | bc #调用bc命令,将08变成8
11. 字符串遍历
shell如何像C中char*一样遍历,如何统计某些字符的个数?
a. sed分割
echo $str | sed 's/[^\n]/&\n/g' #正则拆分
b. awk分割
echo $str | awk -F "" '{for(i=1;i<=NF;i++) {print $i}}' #指定空分隔
注:mac下会提示awk: field separator FS is empty 错误
字符串分割成单个字符再直接统计字符就比较简单了。
str='hello_world_sun' echo $str | sed 's/[^\n]/&\n/g' | grep '_' | wc -l #2
相关推荐
shell 字符串操作 关于字符的常用命令
代码如下:工作中字符串操作举例 filename=’/home/admin/jobs/CnClickstat/DFSLoader/loader.cfg’ #下面是使用shell字符串操作 buName1=${filename#*/jobs/} #去除’/home/admin/jobs/CnClickstat/DFSLoader/loader...
1. 判断读取字符串值 2. 字符串长度、截取、替换 3.练习
在做shell批处理程序时候,经常会涉及到字符串相关操作。有很多命令语句,如:awk,sed都可以做字符串各种操作。 其实shell内置一系列操作符号,可以达到类似效果,大家知道,使用内部操作符会省略启动外部程序等时间...
主要介绍了总结的7个shell字符串操作方法和实例分享,包括长度获取、查找位置、字符截取、匹配查询等,需要的朋友可以参考下
主要介绍了Bash Shell字符串操作总结,包含取长度、截取、查找位置、替换等等,需要的朋友可以参考下
主要介绍了linux shell 字符串操作(长度,查找,替换)详解,需要的朋友可以参考下
主要介绍了shell字符串操作详解的相关资料,需要的朋友可以参考下
本文由TinyLab.org原创。 本文是自由书籍《Shell编程...第三、对串的常规操作:求子串、插入字符、删除字符、置换字符、字符串的比较等。 第四、对串的一些比较复杂而有趣的操作,这里将在最后介绍一些有趣的范例。
shell 操作字符串
字符串的基本操作 脚本 1 # 声明字符串 str01=str01 echo ${str01} # 单引号也可以 # 不过后面的例子, 通常是用 双引号, 具体原因, 以后会解释\nstr02='str02' echo ${str02} # 对引号的转义, 这里就不提了 2. ...
注意数字与字符串的区别. 整数比较 -eq 等于,如:if [ “$a” -eq “$b” ] -ne 不等于,如:if [ “$a” -ne “$b” ] -gt 大于,如:if [ “$a” -gt “$b” ] -ge 大于等于,如:if [ “$a” -ge “$b” ] -lt 小于,如:...
我们在日常工作中,对于求字符串操作在shell脚本中很常用,实现的方法有很多种,下面就来给大家归纳、汇总了求字符串的几种可能方法,话不多说了,来一起看看详细的介绍吧。 方法如下: 【方法一】:利用${#str}来...
经常写 shell 脚本知道,字符串判断可以用 =,!= 数字的判断是 -eq,-ne 等,但是 Python 确不是这样子的。 所以作为慢慢要转换到用 Python 写脚本,这些基本的东西必须要掌握到骨子里! 在 Python 中比较字符串...
linux中shell截取字符串方法总结linux操作系统电脑资料.doc