Shell 字符串操作(截取、替换、去头、去尾)

简介: Shell 字符串操作(截取、替换、去头、去尾)

一、截取

  • 格式:${变量:起始位置:长度}
# 字符串
phone=0123456789
# 从 1 索引位置开始截取,截取到尾部,包含 1 位置
echo ${phone:1}
# 输出结果
123456789
# 从 1 索引位置开始截取 6 位,包含 1 位置
echo ${phone:1:6}
# 输出结果
123456
# 从 1 索引位置开始截取,截取到倒数第 2 位,不包含倒数第 2 位,这种方式有的解释器不支持,会提示不能小于 0
echo ${phone:1:-2}
# 输出结果
1234567

二、替换

  • 格式:
  • 替换一个结果:${变量/旧字符串/新字符串}
  • 替换全部结果:${变量//旧字符串/新字符串}
# 字符串
phone=66668888
# 单个替换
echo ${phone/6/0}
# 输出结果
06668888
# 全部替换
echo ${phone//6/0}
# 输出结果
00008888

三、去头

  • 格式:
  • 从左向右,最短匹配删除:${变量#关键词}
  • 从左向右,最长匹配删除:${变量##关键词}
# 字符串
phone=1-22-333-4:555-6-777
# 最短匹配删除
echo ${phone#*-}
# 输出结果
22-333-4:555-6-777
# 最长匹配删除
echo ${phone##*-}
# 输出结果
777
# 最短匹配删除
echo ${phone#*:}
# 输出结果
555-6-777

四、去尾

  • 格式:
  • 从右向左,最短匹配删除:${变量%关键词}
  • 从右向左,最长匹配删除:${变量%%关键词}
# 字符串
phone=1-22-333-4:555-6-777
# 最短匹配删除
echo ${phone%-*}
# 输出结果
1-22-333-4:555-6
# 最长匹配删除
echo ${phone%%-*}
# 输出结果
1
# 最短匹配删除
echo ${phone%:*}
# 输出结果
1-22-333-4

相关文章
|
1月前
|
Shell Linux C语言
【Shell 命令集合 文档编辑 】Linux 递归搜索指定字符串 rgrep命令使用指南
【Shell 命令集合 文档编辑 】Linux 递归搜索指定字符串 rgrep命令使用指南
17 0
|
1月前
|
Shell Linux C语言
【Shell 命令集合 文档编辑】Linux 在文件中查找指定的字符串 fgrep命令使用指南
【Shell 命令集合 文档编辑】Linux 在文件中查找指定的字符串 fgrep命令使用指南
39 2
|
3月前
|
Shell Linux Perl
Shell 编程快速入门 之 字符串
Shell 编程快速入门 之 字符串
64 0
Shell 编程快速入门 之 字符串
|
8月前
|
运维 Shell Python
【运维知识高级篇】超详细的Shell编程讲解2(变量切片+统计变量长度+字串删除+字串替换+七种方法进行数值运算+整数比较+多整数比较+文件判断+字符串比对+正则比对+配合三剑客的高阶用法)(一)
【运维知识高级篇】超详细的Shell编程讲解2(变量切片+统计变量长度+字串删除+字串替换+七种方法进行数值运算+整数比较+多整数比较+文件判断+字符串比对+正则比对+配合三剑客的高阶用法)
91 0
|
4月前
|
Shell 程序员
Shell字符串截取的实现方法
Shell字符串截取的实现方法
41 0
|
5月前
|
存储 编解码 Shell
shell对字符串转码GBK
shell对字符串转码GBK
|
7月前
|
Shell
Shell脚本中字符串的一些常用操作
Shell脚本中字符串的一些常用操作,记录以备日常查阅。
61 0
|
8月前
|
运维 Shell Perl
【运维知识高级篇】超详细的Shell编程讲解2(变量切片+统计变量长度+字串删除+字串替换+七种方法进行数值运算+整数比较+多整数比较+文件判断+字符串比对+正则比对+配合三剑客的高阶用法)(二)
【运维知识高级篇】超详细的Shell编程讲解2(变量切片+统计变量长度+字串删除+字串替换+七种方法进行数值运算+整数比较+多整数比较+文件判断+字符串比对+正则比对+配合三剑客的高阶用法)(二)
94 0
|
8月前
|
Shell
Shell 过滤数据(cut 截取过滤列)
Shell 过滤数据(cut 截取过滤列)
64 0
|
8月前
|
Shell
Shell 字符串比较(是否为空、等于、不等于)
Shell 字符串比较(是否为空、等于、不等于)
151 0