shell字符串处理

Posted whatislinux

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell字符串处理相关的知识,希望对你有一定的参考价值。

7字符串处理

功能:
n 从变量中提取指定的文本字串
n 如何摈弃无关字符
n 字符串文本的条件替换
n 识别变量是否已经设置,并给出提示或处理
7.1字符串截取

方法一:使用{var:起始位置:长度} #起始位置从0开始,可以省略
方法二:使用expr substr
expr substr “var” 起始位置长度 #编号均从1开始  
方法三:使用cut工具  
    echo
var | 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字符串处理的主要内容,如果未能解决你的问题,请参考以下文章

CSP核心代码片段记录

片段(Java) | 机试题+算法思路+考点+代码解析 2023

shell选取部分内容

python+spark程序代码片段

逆向及Bof基础实践

201555332盛照宗—网络对抗实验1—逆向与bof基础