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 字符串操作详解 #### 一、引言 在Shell编程中,字符串操作是一项基本而重要的技能。无论是简单的脚本还是复杂的自动化任务,掌握如何有效地操作字符串都是提高脚本功能性和性能的关键。本文将详细介绍...
Shell 字符串截取是指在 Shell 编程中对字符串进行截取、查找、替换等操作。下面将详细介绍 Shell 字符串截取的知识点。 一、字符串截取 Shell 字符串截取可以使用多种方法,以下是一些常见的方法: 1. 使用 expr...
代码如下:工作中字符串操作举例 filename=’/home/admin/jobs/CnClickstat/DFSLoader/loader.cfg’ #下面是使用shell字符串操作 buName1=${filename#*/jobs/} #去除’/home/admin/jobs/CnClickstat/DFSLoader/loader...
本文将对Bash Shell字符串操作进行详细的总结,包括取长度、查找位置、选取与截取子串、字符串替换以及比较和连接等方法。 1. **取长度** 取得字符串长度有两种方式。第一种是使用`expr length`命令,如`expr ...
本文将详细介绍7种常用的Shell字符串操作方法,并通过实例进行演示,帮助读者更好地理解和应用这些技巧。 1. **获取字符串长度** 获取字符串长度通常使用`${#string}`或`expr length $string`。例如: ```bash ...
### Linux Shell 字符串操作详解 在Linux shell编程中,字符串操作是一项基本且重要的技能,尤其是在处理文本数据或构建复杂的脚本时。本文将详细介绍如何在Linux shell中进行字符串的操作,包括获取字符串长度、...
1. 判断读取字符串值 2. 字符串长度、截取、替换 3.练习
### Shell字符串比较与数字判断详解 #### 一、概述 在Shell脚本编程中,进行字符串和数字的比较是一项常见的任务。本文将详细介绍如何在Shell脚本中进行字符串和数字的比较,包括基本的比较操作符及其使用场景,并...
在做shell批处理程序时候,经常会涉及到字符串相关操作。有很多命令语句,如:awk,sed都可以做字符串各种操作。 其实shell内置一系列操作符号,可以达到类似效果,大家知道,使用内部操作符会省略启动外部程序等时间...
Shell字符串操作是Linux系统管理与自动化脚本编写中不可或缺的一部分,它允许用户对字符串进行各种操作,如检查、提取、修改等。以下是对标题和描述中提到的知识点的详细解释: 1. **变量声明的判断**: - `${var}...
在Linux环境中,Shell编程是一种非常重要的自动化脚本编写技术,而字符串操作又是Shell编程中不可或缺的一部分。本知识点将介绍Shell编程中字符串操作的相关知识,内容涉及字符串的基本概念、属性以及常见的字符串...
在Shell脚本编程中,对字符串进行截取是常见的操作之一。通过对字符串的处理,可以实现各种数据解析、文件名提取等实用功能。本文将详细介绍几种常用的Shell中字符串截取方法及其应用场景。 ### 基础概念与应用场景...
首先,让我们了解一些基本的shell字符串处理命令: 1. **变量赋值**:在shell中,我们可以通过`var="string"`来定义一个字符串变量。 2. **引用**:双引号(`"`)内的变量会被解析,单引号(`'`)内的变量则不会。例如...
在Shell脚本编程中,字符串比较是...这些是比较和操作Shell字符串的基本方法。通过理解这些概念和操作符,可以更有效地编写处理字符串的Shell脚本。在实际应用中,应根据具体需求选择合适的方法进行字符串比较和处理。
本文将深入探讨Shell如何进行字符串操作,特别是变量替换、变量扩充、变量中的变量以及变量的特异功能,帮助读者更熟练地掌握Shell编程技巧。 #### 变量替换:简单赋值与替换 在Shell中,可以使用`=`运算符为变量...
适合人群:适用于初学者和中级水平的 Shell 脚本开发者,特别是对变量和字符串操作有兴趣的读者。 使用场景及目标:帮助读者掌握 Shell 脚本中变量和字符串的基本操作,能够在实际脚本编写中灵活运用这些知识点。...
字符串的基本操作 脚本 1 # 声明字符串 str01=str01 echo ${str01} # 单引号也可以 # 不过后面的例子, 通常是用 双引号, 具体原因, 以后会解释\nstr02='str02' echo ${str02} # 对引号的转义, 这里就不提了 2. ...