• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >linux shell > 用Shell判断字符串包含关系的方法小结

用Shell判断字符串包含关系的方法小结

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了shell判断字符串为空,shell 分割字符串,shell 判断字符串相等,shell 查找字符串,shell 字符串比较等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

前言

现在每次分析网站日志的时候都需要判断百度蜘蛛是不是真实的蜘蛛,nslookup之后需要判断结果中是否包含“baidu”字符串

以下给出一些shell中判断字符串包含的方法,来源程序员问答网站 stackoverflow 以及segmentfault。

方法一:利用grep查找

strA="long string"
strB="string"
result=$(echo $strA | grep "${strB}")
if [[ "$result" != "" ]]
then
  echo "包含"
else
  echo "不包含"
fi
</div>

先打印长字符串,然后在长字符串中 grep 查找要搜索的字符串,用变量result记录结果

如果结果不为空,说明strA包含strB。如果结果为空,说明不包含。

这个方法充分利用了grep 的特性,最为简洁。

方法二:利用字符串运算符

strA="helloworld"
strB="low"
if [[ $strA =~ $strB ]]
then
  echo "包含"
else
  echo "不包含"
fi
</div>

利用字符串运算符 =~ 直接判断strA是否包含strB。(这不是比第一个方法还要简洁吗!)

方法三:利用通配符

A="helloworld"
B="low"
if [[ $A == *$B* ]]
then
  echo "包含"
else
  echo "不包含"
fi
</div>

这个也很easy,用通配符*号代理strA中非strB的部分,如果结果相等说明包含,反之不包含。

方法四:利用case in 语句

thisString="1 2 3 4 5" # 源字符串
searchString="1 2" # 搜索字符串
case $thisString in 
  *"$searchString"*) echo Enemy Spot ;;
  *) echo nope ;;
esa
</div>

这个就比较复杂了,case in 我还没有接触到,不过既然有比较简单的方法何必如此

方法五:利用替换

STRING_A=$1
STRING_B=$2
if [[ ${STRING_A/${STRING_B}//} == $STRING_A ]]
  then
    ## is not substring.
    echo N
    return 0
  else
    ## is substring.
    echo Y
    return 1
  fi
</div>

这个也挺复杂

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

</div>

您可能想查找下面的文章:

  • 用Shell判断字符串包含关系的方法小结
  • Shell中判断字符串是否为数字的6种方法分享
  • Shell中判断字符串是否为数字的6种方法分享
  • Shell中实现字符串反转方法分享

相关文章

  • Linux基础命令日常积累
  • 分享awk变量$0的妙用
  • linux系统中的列出敏感用户的脚本代码
  • Shell脚本中实现切换用户并执行命令操作
  • 阿里云云服务器Linux系统更新yum源Shell脚本
  • shell脚本实现随机生成10个8位密码
  • Linux Shell脚本查看NUMA信息
  • shell实现自动备份mysql、整站数据的两个脚本分享
  • ssh expect自动登录的脚本代码
  • Shell实现的一些数学运算自定义函数分享

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • 如何编写健壮的Bash脚本(经验分享)
    • Linux 中makefile的命令包定义及使用
    • shell写的告警次数控制及恢复示例代码
    • Shell、Perl、Python、PHP访问 MySQL 数据库代码实例
    • Linux磁盘空间被未知资源耗尽的解决方法
    • LINUX下的流量监控shell脚本
    • Linux Shell的一些使用小技巧收集
    • 一个监控网卡流量的shell脚本
    • Shell脚本实现批量生成nagios配置文件
    • Linux中删除文件内空行的4种方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有