shell对于字符串的操作

简介:
shell对于字符串的操作:
以下为代码内容:
得到长度 
代码:
%x="abcd" 
# 方法一 %expr length $x 4 
# 方法二 %echo ${#x} 4 
# 方法三 %expr "$x" : ".*" 4 # expr 的帮助 
# STRING : REGEXP   anchored pattern match of REGEXP in STRING

查找子串 
代码:
%expr index  $x "b" 
2 
%expr index  $x "a" 
1 
%expr index  $x "b" 
2 
%expr index  $x "c" 
3 
%expr index  $x "d" 
4

得到子字符串 
代码:
# 方法一 
# expr <string> startpos length 
%expr substr "$x" 1 3 
abc 
%expr substr "$x" 1 5 
abcd 
%expr substr "$x" 2 5 
bcd 
# 方法二 ( BrantC:没看懂这个方法!哦!明白了!)
# ${x:pos:lenght} 
%echo ${x:1} 
bcd 
%echo ${x:2} 
cd 
%echo ${x:0} 
abcd 
%echo ${x:0:2} 
ab 
%pos=1 
%len=2 
%echo ${x:$pos:$len}
bc

匹配正则表达式 
代码:
# 打印匹配长度 
%expr match $x "." 
1 
%expr match $x "abc" 
3 
%expr match $x "bc" 
0

字符串的掐头去尾 
代码:
%x=aabbaarealwwvvww 
%echo "${x%w*w}" 
aabbaarealwwvv 
%echo "${x%%w*w}" 
aabbaareal 
%echo "${x##a*a}" lwwvvww %echo "${x#a*a}" 
bbaarealwwvvww
其中 , # 表示掐头, 因为键盘上 # 在 $ 的左面。 
其中 , % 表示%, 因为键盘上 % 在 $ 的右面。 
单个的表示最小匹配,双个表示最大匹配。 
也就是说,当匹配的有多种方案的时候,选择匹配的最大长度还是最小长度。
字符串的替换 
代码:
%x=abcdabcd 
%echo ${x/a/b} 
# 只替换一个 bbcdabcd 
%echo ${x//a/b} 
# 替换所有 bbcdbbcd

不可以使用 regexp , 只能用 * ? 的文件扩展方式。






本文转自 xkdcc 51CTO博客,原文链接:http://blog.51cto.com/brantc/160063,如需转载请自行联系原作者

目录
相关文章
|
人工智能 机器人 Shell
【shell】shell字符串操作(声明、长度、拼接、切片、转换、替换等操作)
【shell】shell字符串操作(声明、长度、拼接、切片、转换、替换等操作)
|
Shell Linux C语言
【Shell 命令集合 磁盘管理 】Linux 控制光驱或可移动媒体设备的弹出和关闭操作 eject命令使用教程
【Shell 命令集合 磁盘管理 】Linux 控制光驱或可移动媒体设备的弹出和关闭操作 eject命令使用教程
619 1
|
存储 算法 Shell
【Shell 命令集合 磁盘维护 】Linux 对软盘进行格式化操作 fdformat命令使用指南
【Shell 命令集合 磁盘维护 】Linux 对软盘进行格式化操作 fdformat命令使用指南
433 0
|
存储 Shell Linux
八、Linux Shell 脚本:变量与字符串
Shell脚本里的变量就像一个个贴着标签的“箱子”。装东西(赋值)时,=两边千万不能有空格。用单引号''装进去的东西会原封不动,用双引号""则会让里面的$变量先“变身”再装箱。默认箱子只能在当前“房间”(Shell进程)用,想让隔壁房间(子进程)也能看到,就得给箱子盖个export的“出口”戳。此外,Shell还自带了$?(上条命令的成绩单)和$1(别人递进来的第一个包裹)等许多特殊箱子,非常有用。
1110 2
|
Linux Shell 文件存储
【Linux技术专题】「夯实基本功系列」带你一同学习和实践操作Linux服务器必学的Shell指令(深入df和dh的区别和探索)
【Linux技术专题】「夯实基本功系列」带你一同学习和实践操作Linux服务器必学的Shell指令(深入df和dh的区别和探索)
637 1
|
JavaScript 关系型数据库 Shell
Linux shell编写技巧之随机取字符串(一)
本文介绍了Linux Shell脚本的编写技巧,包括环境配置、变量命名规则和缩进语法,并提供了一个实例练习,展示如何使用`$RANDOM`变量和`md5sum`命令来生成随机的8位字符串。
458 4
|
人工智能 机器人 Shell
【shell】shell函数操作(有参、无参、有返回值、无返回值)
【shell】shell函数操作(有参、无参、有返回值、无返回值)
|
人工智能 机器人 Shell
【shell】shell数组的操作(定义、索引、长度、获取、删除、修改、拼接)
【shell】shell数组的操作(定义、索引、长度、获取、删除、修改、拼接)
|
存储 Shell 开发者
Shell 数组:灵活操作的秘诀
**Shell 数组简介**:作为基础数据结构,数组在Shell编程中不可或缺。它们存储多个值,下标从0开始。创建如`array=(值1 值2...)`,访问用`${array[index]}`。增删改查及获取长度、拼接数组都有相应语法,例如`unset array[index]`删除元素,`${#array[@]}`获取长度。通过实践这些操作,提升Shell脚本技能。
362 0
|
监控 Shell 开发者
Shell 字符串操作:让你的脚本语言更加灵活
在Shell脚本中,字符串操作至关重要,包括计算长度、连接与截取。获取字符串长度使用`${#变量名}`,如`echo ${#name}`显示`4`。字符串连接可通过`$变量名`或`${变量名}`实现,例如`name=alex; str1=$name$age`。字符串截取有多种方式,如`${str:起始位置:长度}`从左边截取,`${str#*chars}`从左边去除匹配的字符,`${str%*chars}`则从右边去除。通过练习这些基本操作,能提升Shell脚本的编写效率。
333 0