shell字符串处理
Posted whatislinux
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell字符串处理相关的知识,希望对你有一定的参考价值。
7字符串处理
功能:
n 从变量中提取指定的文本字串
n 如何摈弃无关字符
n 字符串文本的条件替换
n 识别变量是否已经设置,并给出提示或处理
7.1字符串截取
方法一:使用{var:起始位置:长度} #起始位置从0开始,可以省略
方法二:使用expr substr
expr substr “var” 起始位置长度 #编号均从1开始
方法三:使用cut工具
echovar | cut –c 起始位置-结束位置
7.1字符串匹配删除(匹配后删除)
适用于对字符头和尾连续字符操作时
格式:${变量名 符号 匹配表达式}
从左向右匹配删除
:最短匹配
:最长匹配
从右向左匹配删除
% :最短匹配
%% :最长匹配
只用对头部、尾部且连续来处理
例子:
[[email protected] ~]# echo ${MAIL##/} # 为通配符
root
[[email protected] ~]# echo ${MAIL%%/} # 为通配符
root
7.1字符串替换
只替换第1个匹配结果
格式:{var//old/new}
7.2变量替换
格式:${变量名 变量替换符号 自定义字符串}
如${var := str}
变量替换符号:
:- (取值) 若变量var已经存在且非Null,则返回var的值
否则返回字符串str,并赋值给变量var
:+ (有值时提示) 若变量var已经存在且非Null,则给出提示
否则返回Null(空值)
:? (无值时提示) 若变量var已经存在且非Null, 则返回$var的值
否则给出提示(若省略,则用默认提示),并结束shell.
以上是关于shell字符串处理的主要内容,如果未能解决你的问题,请参考以下文章