SHELL 查找字符串中包含字符的命令

1.通配符
string=‘My long string‘
if [[ $string == *"My long"* ]]; then
  echo "It‘s there!"
fi
2.正则匹配
string=‘My long string‘
if [[ $string =~ .*My.* ]]; then
   echo "It‘s there!"
fi
3.switch…case版本的通配符(速度最快……)
string=‘My long string‘case "$string" in

*ERROR*)

# Do stuff

echo "包含ERROR..."

;;

*ORA-*)

echo "包含bbb..."

return 1

;;

*) #若以上都不符合,则给出交互式提示并退出。

usage

return 0

;;

esac

4.用grep来实现
string=‘My long string‘
if grep -q foo <<<$string; then
    echo "It‘s there"
fi
5.用字符串替换/删除来实现
string=‘My long string‘
if [ "$string" != "${string/foo/}" ]; then
    echo "It‘s there!"
fi

原文地址:https://www.cnblogs.com/wuyuanguo/p/11796940.html

时间: 2024-10-25 16:54:21

SHELL 查找字符串中包含字符的命令的相关文章

SQL中判断字符串中包含字符的方法

通过2个函数CHARINDEX和PATINDEX以及通配符的灵活使用函数:CHARINDEX和PATINDEXCHARINDEX:查某字符(串)是否包含在其他字符串中,返回字符串中指定表达式的起始位置.PATINDEX:查某字符(串)是否包含在其他字符串中,返回指定表达式中某模式第一次出现的起始位置:如果在全部有效的文本和字符数据类型中没有找到该模式,则返回零.特殊:可以使用通配符! 例子:1. 查询字符串中是否包含非数字字符SELECT PATINDEX('%[^0-9]%', '1235X4

查找字符串中特定字符最后出现的位置

类似C#的str.LastIndexOf() 单元格A1中有 12345#78#abc#ef 最后一个#号在字符串中的位置: 1.先统计A1中有几个# 把#替换为空,再用原串长度减去新串长度,即为#数量 如果要查找的是多个字符的字符串,需要除以串长 =LEN(A1)-LEN(SUBSTITUTE(A1,"#","")) 2.把原字串中最后一个#用一个比较特殊的符号,比如@替换掉. @需要是A1中从来没有出现过的 =SUBSTITUTE(A1,"#"

shell 查找字符串中字符出现的位置

#!/bin/bash a="The cat sat on the mat" test="cat" awk -v a="$a" -v b="$test" 'BEGIN{print index(a,b)}' 输出 bogon:Desktop macname$ ./test.sh 5 参考: 原文地址:https://www.cnblogs.com/sea-stream/p/11403014.html

编写一个函数char_contains(char str[],char c), 如果字符串str中包含字符c则返回数值1,否则返回数值0

/* 编写一个函数char_contains(char str[],char c), 如果字符串str中包含字符c则返回数值1,否则返回数值0 */ #include <string.h> #include <stdio.h> // 可读性 -> 性能 -> 精简(重构) int char_contains(char str[], char c); int main() { //int result = char_contains("itc8ast"

查找字符串中第一个不重复的字符

import java.util.*; public class GetFirstNoRepeatChar{ static char getChar(String s){ int len=s.length(); int len_tim=128; char c='F'; int []tim=new int[len_tim]; //以字符做下标,存储该字符出现次数 for(int i=0;i<len;i++){ c=s.charAt(i); tim[c]+=1; } //遍历,取得 for(int

字符串中单个字符的用法

我们使用字符串时经常要对字符串中单个字符进行处理,比如检测一个string对象是否包含空白,或者把string对象中的字母大写改为小写,查看某个特定字符是否出现,判断字符串是否为数字等等. 这类处理的关键是要获取字符本身.有时需要处理string对象中的每一个字符,另外一些时候则只需处理某个特定的字符,还有些时候遇到某个条件处理就要停下来. 在cctype头文件中定义了一组标准库函数处理字符串的工作. cctype头文件中的函数 isalnum(c)    当c是字母或数字时为真 isalpha

Oracle字符串中包含数字、特殊符号的排序

问题描述: 某小区,需要按照小区.楼栋.单元号.房间号进行排序,但是按照地址描述排序时,因为字符串中包含数字,所以造成了如下的结果, 1号楼之后应该是2号楼,但是查询结果却是10号楼 . 尝试解决 使用正则表达式替换 结果: 虽然楼栋号排序正常了,但是会发现房间号排序出现了混乱.  继续想办法 终极办法: 使用translate函数 可以发现,结果正常显示 . 以下附上translate使用方法 一.语法: TRANSLATE(string,from_str,to_str) 二.目的 返回将(所

C# String.Format格式化json字符串中包含"{" "}"报错问题

json.Append(String.Format("{\"total\":{0},\"row\":{1}}", lineCount, strJSON));直接会报错 字符串中包含{或者},则需要用{{ 来代替字符 {,用}} 代替 }如:json.Append(String.Format("{{\"total\":{0},\"row\":{1}}}", lineCount, strJS

VS调试:字符串中的字符无效

场景 网络发送过来的报文是utf-8编码的Json数据,其中保存有中文.使用Jsoncpp解析的时候 单步调试获取到的变量,在获取包含中文变量的时候,查看std::string字符串变量,提示:字符串中的字符无效 解析 VS高版本新加的功能,如果字符串中包含有非打印字符,或者utf8编码,调试器自动显示: 字符串中的字符无效.在这里被误导过,以为Jsoncpp无法正确解析utf-8编码的格式,其实Jsoncpp已经解析出内容,只是无法在这种情况下显示中文,必须是GBK编码才行 历程 std::s