专业的编程技术博客社区

网站首页 > 博客文章 正文

Linux系统Shell使用方法(五)——字符串操作

baijin 2025-02-04 12:38:51 博客文章 8 ℃ 0 评论

摘要:当前大多数Linux发行版的默认Shell是Bash。Shell相当于是一个翻译,Shell脚本是解释执行的,不需要编译,Shell程序从脚本中一行一行读取并执行这些命令,相当于一个用户把脚本中的命令一行一行敲到Shell提示符下执行。在做Shell批处理程序时候,经常会涉及到字符串相关操作。有很多命令语句,比如awk,sed都可以做字符串各种操作。 其实Shell内置一系列操作符号,也可以达到类似效果,而且使用内部操作符会省略启动外部程序等时间,因此速度会非常的快。

本文主要介绍Shell脚本语言的字符串操作方法,分别介绍字符串长度、字符串查找和字符串替换等知识,详细内容请参考下文。

一、判断读取字符串值

1.什么是字符串

定义:用双引号,单引号,或者直接在接在=后,都可以定义一个字符串,如下,定义了三个字符串。

比如:

(1)str1=string

(2)str2=’this is string’

(3)str3=”this is string”

备注:在Linux shell bash中,双引号和单引号的使用有区别。

单引号引用,则保留字符串的所有字符的字面含义,同时,单引号内不允许再出现单引号,也不会对转义字符等进行转义。

双引号引用,则支持一些扩展,如$(美元符) \ (反斜杠)。\$可以引用后面的变量值,\(反斜杠)表示转义。

2. 读取字符串值

说明:通过下列表达式读取字符串的值。

二、字符串操作

1. 字符串简单操作

说明:"substring”可以为正则表达式。

2.字符串的长度

说明:使用${#变量名}得到字符串长度

3.截取字符串

说明:${变量名:起始:长度}得到子字符串

4.字符串替换

说明:字符串替换, ${变量/查找/替换值} 一个“/”表示替换第一个,”//”表示替换所有,当查找中出现了:”/”请加转义符”\/”表示。

三、读取字符串操作的性能比较

说明:在Shell中,通过awk,sed,expr 等都可以实现,字符串上述操作,下面进行性能比较。

备注:速度相差上一百多倍,调用外部命令处理,与内置操作符性能相差非常大。在shell编程中,尽量用内置操作符或者函数完成。使用awk,sed类似会出现这样结果。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表