Linux shell字符串截取、替换、删除以及trim代码示例

 更新时间:2024年03月01日 14:54:24   作者:aabond  
在Shell编程中,截取、替换、删除字符串是非常常见的操作,这篇文章主要给大家介绍了关于Linux shell字符串截取、替换、删除以及trim的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下

字符串截取

从左向右截取第一个//后的字符串

word=abcd-//master-01://httpab
echo ${word#*//} 
# 输出:master-01://httpab

从左向右截取最后一个//后的字符串

word=abcd-//master-01://httpab
echo ${word##*//} 
# 输出:httpab

从右向左截取第一个//后的字符串

word=abcd-//master-01://httpab
echo ${word%//*} 
# 输出:abcd-//master-01:

从右向左截取最一个//后的字符串

word=abcd-//master-01://httpab
echo ${word%%//*} 
# 输出:abcd-

截取位置0后3个字符

word=abcd-//master-01://httpab
echo ${word:0:3} 
# 输出:abc

从位置1截取到末尾

word=abcd-//master-01://httpab
echo ${word:1} 
# 输出:bcd-//master-01://httpab

从位置-1截取到末尾,就是截取最后一个

word=abcd-//master-01://httpab
echo ${word:(-1)} 
# 输出:b

字符串替换

从左到右,匹配第一个,替换//为cd

word=abcd-//master-01://httpab
echo ${word/\/\//cd} 
# 输出:abcd-cdmaster-01://httpab

将所有匹配的//替换为cd

word=abcd-//master-01://httpab
echo ${word//\/\//cd} 
# 输出:abcd-cdmaster-01:cdhttpab

前缀匹配,只匹配从位置0开始的字符

word=abcd-//master-01://httpab
echo ${word/#ab/cd} 
# -不是前缀,会匹配失败
echo ${word/#-/cd}
# 输出:abcd-cdmaster-01://httpab
# 输出:abcd-//master-01://httpab

后缀匹配,只匹配结尾字符

word=abcd-//master-01://httpab
echo ${word/%http*/xy} 
# 输出:abcd-//master-01://xy
echo ${word/%ab/xy}
# 输出:abcd-//master-01://httpxy
echo ${word/%ab*/xy}
# 出现*,会从起始匹配
# 输出:xy

字符串删除

利用字符截取和替换,以及拼接可以实现删除字符的效果

删除前3个字符

word=abcd-//master-01://httpab
echo ${word#*${word:0:3}} 
# 输出:d-//master-01://httpab

删除后3个字符

word=abcd-//master-01://httpab
echo ${word%*${word:(-3)}} 
# 输出:abcd-//master-01://htt

删除第一个ab

word=abcd-//master-01://httpab
echo ${word/ab/} 
# 输出:cd-//master-01://httpab

删除所有ab

word=abcd-//master-01://httpab
echo ${word//ab/} 
# 输出:cd-//master-01://http

删除最后一个ab

word=abcd-//master-01://httpabcd
echo ${word%ab*}${word##*ab}
# 输出:abcd-//master-01://httpcd

字符串trim

利用xargs可以实现trim

word="   hello  wolrd  "
word=`echo $word | xargs`
echo $word
# 输出:hello  wolrd

参考博客://www.jb51.net/jiaoben/316765sh8.htm

总结

到此这篇关于Linux shell字符串截取、替换、删除以及trim的文章就介绍到这了,更多相关Linux shell字符串截取替换删除内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • shell sleep睡眠命令的具体使用

    shell sleep睡眠命令的具体使用

    本文主要介绍了shell sleep睡眠命令的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • awk统计文件中某关键词出现次数的命令

    awk统计文件中某关键词出现次数的命令

    awk统计文件中某关键词出现的次数,供朋友们学习参考
    2013-02-02
  • linux下使用ssh远程执行命令批量导出数据库到本地

    linux下使用ssh远程执行命令批量导出数据库到本地

    这篇文章主要介绍了linux下使用ssh远程执行命令批量导出数据库到本地,需要的朋友可以参考下
    2015-04-04
  • Linux 中的Logwatch命令

    Linux 中的Logwatch命令

    在Linux系统操作中,logwatch能够对系统log报告进行分析,用于Linux日志的处理,下面小编给大家详细介绍下Linux 中的Logwatch命令,感兴趣的朋友一起看看吧
    2017-09-09
  • Linux shell select菜单选择实现代码

    Linux shell select菜单选择实现代码

    主要介绍了Bash Shell中的select命令简单使用示例,通常用于流程控制功能的实现,需要的朋友可以参考下
    2021-07-07
  • Shell 批量进程判断是否存在

    Shell 批量进程判断是否存在

    本文主要介绍了Shell 批量进程判断是否存在,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • linux禁止普通用户切换至root用户的实例讲解

    linux禁止普通用户切换至root用户的实例讲解

    今天小编就为大家分享一篇linux禁止普通用户切换至root用户的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • 分享awk变量$0的妙用

    分享awk变量$0的妙用

    对awk的非常入学,于是把exp.log的处理那段都用awk写出来。惊喜的发现awk有个内置参数NR,而且awk内部也可以进行运算
    2013-03-03
  • 如何让history命令显示日期和时间

    如何让history命令显示日期和时间

    我们都对 history 命令很熟悉。它将终端上 bash 执行过的所有命令存储到 .bash_history 文件中,来帮助我们复查用户之前执行过的命令。这篇文章主要介绍了让history命令显示日期和时间的方法,需要的朋友可以参考下
    2018-01-01
  • shell批量创建文件并重新命名的实例代码

    shell批量创建文件并重新命名的实例代码

    这篇文章主要给大家介绍了关于shell批量创建文件并重新命名的相关资料,文中还介绍了批量删除文件以及文件更名的多种方法,每种方法都给出了详细实例代码,需要的朋友可以参考下
    2021-07-07

最新评论