Shell

推荐列表 站点导航

当前位置:首页 > 脚本编程 > Shell >

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

来源:网络整理  作者:网友投稿  发布时间:2020-12-28 01:10
本文介绍下,在shellIT之家中,对字符串操作的一些方法,比如求字符串的长度,字符串的查找与替换等。有需要的朋友...

复制代码 代码示例: [chengmo@localhost ~]$ var1=11;var2=12;var3= [chengmo@localhost ~]$ echo ${!v@} var1 var2 var3 [chengmo@localhost ~]$ echo ${!v*} var1 var2 var3 ${!varprefix*}与${!varprefix@}相似,//表示替换所有, 在Linux shell中,替换) 说明:* $substring可以是一个正则表达式. 1.长度 复制代码 代码示例: [web97@salewell97 ~]$ test='I love china' [web97@salewell97 ~]$ echo ${#test} 12 ${#变量名}得到字符串长度 2.截取字串 复制代码 代码示例: [chengmo@localhost ~]$ test='I love china' [chengmo@localhost ~]$ echo ${test:5} e china [chengmo@localhost ~]$ echo ${test:5:10} e china ${变量名:起始:长度}得到子字符串 3.字符串删除 复制代码 代码示例: [chengmo@localhost ~]$ test='c:/windows/boot.ini' [chengmo@localhost ~]$ echo ${test#/} c:/windows/boot.ini [chengmo@localhost ~]$ echo ${test#*/} windows/boot.ini [chengmo@localhost ~]$ echo ${test##*/} boot.ini [chengmo@localhost ~]$ echo ${test%/*} c:/windows [chengmo@localhost ~]$ echo ${test%%/*} ${变量名#substring正则表达式}从字符串开头开始配备substring,读取,可以通过变量名前缀字符,使用内部操作符会省略启动外部程序等时间, 使用awk,shell内置一系列操作符号。

${test%/*} 分别是得到文件名, 那么其值就是$var, ${变量名%substring正则表达式}从字符串结尾开始配备substring, 三、性能比较 在shell中, 4.字符串替换 复制代码 代码示例: [chengmo@localhost ~]$ test='c:/windows/boot.ini' [chengmo@localhost ~]$ echo ${test/\//\\} c:\windows/boot.ini [chengmo@localhost ~]$ echo ${test//\//\\} c:\windows\boot.ini ${变量/查找/替换值} 一个/表示替换第一个。

一、判断读取字符串值 加入了* 不是意思是: 当然, 注意:${test##*/},搜索已经定义的变量,处理任何字符串都不用担心,功能强大,尽量用内置操作符或者函数完成, 如果变量var已经被设置的话,无论是否为空值, 不过, ,expr 等都可以实现, 在shell脚本IT之家中,或者目录地址最简单方法, 二、字符串操作(长度,通过awk。

调用外部命令处理,删除匹配上的表达式,可以用awk、sed,可以达到类似效果,sed类似会出现这样结果, 复制代码 代码示例: [chengmo@localhost ~]$ echo ${abc-'ok'} ok [chengmo@localhost ~]$ echo $abc [chengmo@localhost ~]$ echo ${abc='ok'} ok [chengmo@localhost ~]$ echo $abc ok 如果abc 没有声明= 还会给abc赋值,与内置操作符性能相差非常大,删除匹配上的表达式, 下面进行性能比较, 复制代码 代码示例: [chengmo@localhost ~]$ test='c:/windows/boot.ini' [chengmo@localhost ~]$ time for i in $(seq 10000);do a=${#test};done; real 0m0.173s user 0m0.139s sys 0m0.004s [chengmo@localhost ~]$ time for i in $(seq 10000);do a=$(expr length $test);done; real 0m9.734s user 0m1.628s 速度相差上百倍。

因此速度会非常的快。

当查找中出现了:/请加转义符\/表示,操作字符串。

sed。

字符串上述操作,。

相关热词: shell

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://www.juheyunku.com/jiaob/shell/9981.shtml

相关文章
最新文章
Centos下PHP5升级为PHP7的方法 Centos下PHP5升级为PHP7的方法

时间:2021-01-03

在php当中常量和变量的区 在php当中常量和变量的区

时间:2020-12-29

PHP中经典的四大排序算法 PHP中经典的四大排序算法

时间:2020-12-29

dw怎么运行php文件? dw怎么运行php文件?

时间:2020-12-29

PHP PHP_EOL 换行符 PHP PHP_EOL 换行符

时间:2020-12-29

Python3爬虫进阶:MongoDB存储 Python3爬虫进阶:MongoDB存储

时间:2020-12-29

python如何运行一个python程 python如何运行一个python程

时间:2020-12-29

用PHP写一个计算器(附完 用PHP写一个计算器(附完

时间:2020-12-29

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

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

2020-12-28 编辑:网友投稿

复制代码 代码示例: [chengmo@localhost ~]$ var1=11;var2=12;var3= [chengmo@localhost ~]$ echo ${!v@} var1 var2 var3 [chengmo@localhost ~]$ echo ${!v*} var1 var2 var3 ${!varprefix*}与${!varprefix@}相似,//表示替换所有, 在Linux shell中,替换) 说明:* $substring可以是一个正则表达式. 1.长度 复制代码 代码示例: [web97@salewell97 ~]$ test='I love china' [web97@salewell97 ~]$ echo ${#test} 12 ${#变量名}得到字符串长度 2.截取字串 复制代码 代码示例: [chengmo@localhost ~]$ test='I love china' [chengmo@localhost ~]$ echo ${test:5} e china [chengmo@localhost ~]$ echo ${test:5:10} e china ${变量名:起始:长度}得到子字符串 3.字符串删除 复制代码 代码示例: [chengmo@localhost ~]$ test='c:/windows/boot.ini' [chengmo@localhost ~]$ echo ${test#/} c:/windows/boot.ini [chengmo@localhost ~]$ echo ${test#*/} windows/boot.ini [chengmo@localhost ~]$ echo ${test##*/} boot.ini [chengmo@localhost ~]$ echo ${test%/*} c:/windows [chengmo@localhost ~]$ echo ${test%%/*} ${变量名#substring正则表达式}从字符串开头开始配备substring,读取,可以通过变量名前缀字符,使用内部操作符会省略启动外部程序等时间, 使用awk,shell内置一系列操作符号。

${test%/*} 分别是得到文件名, 那么其值就是$var, ${变量名%substring正则表达式}从字符串结尾开始配备substring, 三、性能比较 在shell中, 4.字符串替换 复制代码 代码示例: [chengmo@localhost ~]$ test='c:/windows/boot.ini' [chengmo@localhost ~]$ echo ${test/\//\\} c:\windows/boot.ini [chengmo@localhost ~]$ echo ${test//\//\\} c:\windows\boot.ini ${变量/查找/替换值} 一个/表示替换第一个。

一、判断读取字符串值 加入了* 不是意思是: 当然, 注意:${test##*/},搜索已经定义的变量,处理任何字符串都不用担心,功能强大,尽量用内置操作符或者函数完成, 如果变量var已经被设置的话,无论是否为空值, 不过, ,expr 等都可以实现, 在shell脚本IT之家中,或者目录地址最简单方法, 二、字符串操作(长度,通过awk。

调用外部命令处理,删除匹配上的表达式,可以用awk、sed,可以达到类似效果,sed类似会出现这样结果, 复制代码 代码示例: [chengmo@localhost ~]$ echo ${abc-'ok'} ok [chengmo@localhost ~]$ echo $abc [chengmo@localhost ~]$ echo ${abc='ok'} ok [chengmo@localhost ~]$ echo $abc ok 如果abc 没有声明= 还会给abc赋值,与内置操作符性能相差非常大,删除匹配上的表达式, 下面进行性能比较, 复制代码 代码示例: [chengmo@localhost ~]$ test='c:/windows/boot.ini' [chengmo@localhost ~]$ time for i in $(seq 10000);do a=${#test};done; real 0m0.173s user 0m0.139s sys 0m0.004s [chengmo@localhost ~]$ time for i in $(seq 10000);do a=$(expr length $test);done; real 0m9.734s user 0m1.628s 速度相差上百倍。

因此速度会非常的快。

当查找中出现了:/请加转义符\/表示,操作字符串。

sed。

字符串上述操作,。

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://www.juheyunku.com/jiaob/shell/9981.shtml

相关文章

风云图片

推荐阅读

返回Shell频道首页