`
tcspecial
  • 浏览: 911243 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

shell字符串操作

    博客分类:
  • OS
阅读更多

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 编程中对字符串进行截取、查找、替换等操作。下面将详细介绍 Shell 字符串截取的知识点。 一、字符串截取 Shell 字符串截取可以使用多种方法,以下是一些常见的方法: 1. 使用 expr...

    shell 字符串操作(长度,查找,替换)详解

    代码如下:工作中字符串操作举例 filename=’/home/admin/jobs/CnClickstat/DFSLoader/loader.cfg’ #下面是使用shell字符串操作 buName1=${filename#*/jobs/} #去除’/home/admin/jobs/CnClickstat/DFSLoader/loader...

    Bash Shell字符串操作小结

    本文将对Bash Shell字符串操作进行详细的总结,包括取长度、查找位置、选取与截取子串、字符串替换以及比较和连接等方法。 1. **取长度** 取得字符串长度有两种方式。第一种是使用`expr length`命令,如`expr ...

    总结的7个shell字符串操作方法和实例分享

    本文将详细介绍7种常用的Shell字符串操作方法,并通过实例进行演示,帮助读者更好地理解和应用这些技巧。 1. **获取字符串长度** 获取字符串长度通常使用`${#string}`或`expr length $string`。例如: ```bash ...

    linux shell 字符串操作(长度,查找,替换)详解

    ### Linux Shell 字符串操作详解 在Linux shell编程中,字符串操作是一项基本且重要的技能,尤其是在处理文本数据或构建复杂的脚本时。本文将详细介绍如何在Linux shell中进行字符串的操作,包括获取字符串长度、...

    GenweiWu#Blog#Linux Shell字符串操作1

    1. 判断读取字符串值 2. 字符串长度、截取、替换 3.练习

    shell字符串比较判断是否为数字

    ### Shell字符串比较与数字判断详解 #### 一、概述 在Shell脚本编程中,进行字符串和数字的比较是一项常见的任务。本文将详细介绍如何在Shell脚本中进行字符串和数字的比较,包括基本的比较操作符及其使用场景,并...

    shell字符串处理

    在做shell批处理程序时候,经常会涉及到字符串相关操作。有很多命令语句,如:awk,sed都可以做字符串各种操作。 其实shell内置一系列操作符号,可以达到类似效果,大家知道,使用内部操作符会省略启动外部程序等时间...

    shell字符串操作详解

    Shell字符串操作是Linux系统管理与自动化脚本编写中不可或缺的一部分,它允许用户对字符串进行各种操作,如检查、提取、修改等。以下是对标题和描述中提到的知识点的详细解释: 1. **变量声明的判断**: - `${var}...

    Shell编程范例之字符串操作-TinyLab原创

    在Linux环境中,Shell编程是一种非常重要的自动化脚本编写技术,而字符串操作又是Shell编程中不可或缺的一部分。本知识点将介绍Shell编程中字符串操作的相关知识,内容涉及字符串的基本概念、属性以及常见的字符串...

    shell中字符串截取

    在Shell脚本编程中,对字符串进行截取是常见的操作之一。通过对字符串的处理,可以实现各种数据解析、文件名提取等实用功能。本文将详细介绍几种常用的Shell中字符串截取方法及其应用场景。 ### 基础概念与应用场景...

    shell 批量处理 字符串指令行

    首先,让我们了解一些基本的shell字符串处理命令: 1. **变量赋值**:在shell中,我们可以通过`var="string"`来定义一个字符串变量。 2. **引用**:双引号(`"`)内的变量会被解析,单引号(`'`)内的变量则不会。例如...

    Shell字符串比较相等、不相等方法小结

    在Shell脚本编程中,字符串比较是...这些是比较和操作Shell字符串的基本方法。通过理解这些概念和操作符,可以更有效地编写处理字符串的Shell脚本。在实际应用中,应根据具体需求选择合适的方法进行字符串比较和处理。

    shell 操作字符串

    本文将深入探讨Shell如何进行字符串操作,特别是变量替换、变量扩充、变量中的变量以及变量的特异功能,帮助读者更熟练地掌握Shell编程技巧。 #### 变量替换:简单赋值与替换 在Shell中,可以使用`=`运算符为变量...

    shell脚本入门-变量、字符串, Shell脚本中变量与字符串的基础操作教程

    适合人群:适用于初学者和中级水平的 Shell 脚本开发者,特别是对变量和字符串操作有兴趣的读者。 使用场景及目标:帮助读者掌握 Shell 脚本中变量和字符串的基本操作,能够在实际脚本编写中灵活运用这些知识点。...

    Shell 字符串拼接的实现示例

    字符串的基本操作 脚本 1 # 声明字符串 str01=str01 echo ${str01} # 单引号也可以 # 不过后面的例子, 通常是用 双引号, 具体原因, 以后会解释\nstr02='str02' echo ${str02} # 对引号的转义, 这里就不提了 2. ...

Global site tag (gtag.js) - Google Analytics