方法一:利用grep查找

strA="long string"
strB="string"
result=$(echo $strA | grep "${strB}")
if [[ "$result" != "" ]]
thenecho "包含"
elseecho "不包含"
fi

先打印长字符串,然后在长字符串中 grep 查找要搜索的字符串,用变量result记录结果
如果结果不为空,说明strA包含strB。如果结果为空,说明不包含。
这个方法充分利用了grep 的特性,最为简洁。

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

strA="helloworld"
strB="low"
if [[ $strA =~ $strB ]]
thenecho "包含"
elseecho "不包含"
fi

方法三:利用通配符

A="helloworld"
B="low"
if [[ $A == *$B* ]]
thenecho "包含"
elseecho "不包含"
fi

方法四:利用case in 语句

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

方法五:利用替换

STRING_A="hello word"
STRING_B="llo"
if [[ ${STRING_A/${STRING_B}//} == $STRING_A ]]
thenecho N
elseecho Y
fi

其他方法

#! /bin/bashvar1="hello"
var2="he"
#方法1
if [ ${var1:0:2} = $var2 ]
thenecho "1:include"
fi
#方法2
echo "$var1" |grep -q "$var2"
if [ $? -eq 0 ]
thenecho "2:include"
fi
#方法3
echo "$var1" |grep -q "$var2" && echo "include" || echo "not"
#方法4
[[ "${var1/$var2/}" != "$var2" ]] && echo "include" || echo "not"

linux shell 字符串查找相关推荐

  1. linux shell 字符串操作(长度,查找,替换)详解 BASH

    linux shell 字符串操作(长度,查找,替换)详解 在做shell批处理程序时候,经常会涉及到字符串相关操作.有很多命令语句,如:awk,sed都可以做字符串各种操作. 其实shell内置一系 ...

  2. linux shell字符串及字符串长度获取方式

    linux shell字符串及字符串长度获取方式

  3. 在 Linux shell 字符串中,百分比符号是什么?

    当你正在学习如何完全使用 Linux shell 时,你可以能会觉得自己能够对字符串进行操作. 记住,今天q&一个文章的超级用户对读者的一个奇怪问题有答案. 今天,回答会话的问题来自超级用户的 ...

  4. linux全局查找字符串,Linux系统字符串查找命令详细说明

    Linux系统中有时候需要特定的查找字符串的功能.下面由学习啦小编为大家整理了Linux系统字符串查找命令详细说明,希望对大家有帮助! Linux系统字符串查找命令详细说明 1.作用 Linux系统中 ...

  5. Linux Shell字符串变量头尾去除空格

    本身想用简单的拿来主义,使用某搜索引擎推荐的博文,来去除Linux Shell中字符串变量头尾的空格. 但是,发现推荐的方法,竟然很多文章是用echo "some string" ...

  6. linux shell 字符串作变量名 间接变量引用

    方法一 #!/bin/bash name=yushuang var=name # 要获取到yushuang res=`eval echo '$'"$var"` echo $res ...

  7. linux shell 字符串操作(长度,查找,替换)详解

    引用 参考  http://www.cnblogs.com/chengmo/archive/2010/10/02/1841355.html 在做shell批处理程序时候,经常会涉及到字符串相关操作.有 ...

  8. 【备忘】linux shell 字符串操作(长度,查找,替换,匹配)详解

    为什么80%的码农都做不了架构师?>>>    在做shell批处理程序时候,经常会涉及到字符串相关操作.有很多命令语句,如:awk,sed都可以做字符串各种操作. 其实shell内 ...

  9. linux下字符串查找 与替换

    1.在vi中使用的查找替换方法 利用 :s 命令可以实现字符串的替换.具体的用法包括: :s/str1/str2/ 用字符串 str2 替换行中首次出现的字符串 str1 :s/str1/str2/g ...

最新文章

  1. 安装wrf模式的第一天
  2. Blend4Web —— 开源的 WebGL 框架
  3. uva 12222——Mountain Road
  4. python爬虫有学c的必要吗_可以一边学python爬虫一边学c语言吗?
  5. Kubernetes 诞生七年,凭什么成为主流?
  6. Mac下载安装sublime text 3
  7. ArcGIS水文分析实战教程(7)细说流域提取
  8. arm linux 内存压力测试,嵌入式中如何给内存做压力测试?
  9. Python3控制安卓手机快手极速版持续金币收益
  10. 机器学习实战:支持向量机回归预测财政收入
  11. ZZULIOJ1036
  12. python爬取微信朋友圈
  13. storm风暴英雄 tempo_《绝地求生》Tempo Storm北美黑马,掌控战场
  14. java list map 去重复_Java中List集合去除重复数据的六种方法
  15. 安装虚拟机步骤 详细
  16. 你今天刷快手了吗(字符处理)
  17. 铰链、弹簧,特殊的物理关节
  18. 励志短片:献给努力前行的你
  19. Kubernetes实战指南:零宕机无缝迁移Spring Cloud至k8s
  20. 2017年5月14日 星期日 --出埃及记 Exodus 26:2

热门文章

  1. 互联网协议 — MQTT 消息队列遥测传输协议
  2. Kong APIGW — Plugins — Authentication
  3. DPDK — EAL 环境抽象层
  4. Linux 操作系统原理 — 内核态与用户态
  5. Python 进阶_模块 包
  6. 使用VScode开发ESP8266,PlatformIO开发ESP8266
  7. 编程进阶,学会使用_I、_O、_IO,以及volatile const的意义
  8. PCB模拟地和数字地的处理
  9. Intel不争气,7nm再延后两年将彻底落败
  10. DOS批处理延时技术