Shell判断字符串是否以某些字符开头

Linux面试题-shell shell试题 阅读详情
AI摘要

本文详细介绍了如何在Shell脚本中使用通配符和正则表达式判断字符串是否以特定字符开头,包括注意事项和示例。重点讲解了使用 =~ 进行正则匹配的方法,以及变量在正则中的正确引用方式。

Shell判断字符串是否以某些字符开头

==比较

# 可以使用通配符
[[ $str == h*]]
# 错误示例,通配符会变成字符串
[[ $str == 'h*']]
[[ $str == "h*"]]
  1. 等号前后要用空格
  2. 通配符不能使用引号括起来
  3. 比较语句使用双中括号括起来,而不是使用单中括号

=~正则比较

如果使用Bash的正则

[[ "$str" =~ ^he.* ]]
# 包含变量时,变量使用双引号括起来
[[ "$str" =~ ^"${JAR_NAME}".* ]]
  1. he*:不要使用he,这里的号表示e字符0到多个,即h,以及heeee都是测试通过的
  2. he.*:这里只允许包含he的字符串通过测试
  3. ^he.*:这个表示是以he开头的字符串通过检测
  4. 通配符不能使用引号括起来
  5. 正则表达式包含变量时,变量使用双引号括起来

GitHub : https://github.com/fxiaoyu97
博客园 : 卡洛小豆 - 博客园
微信公众号 : 三更编程菌 
Copyright ©2019 卡洛小豆
【转载文章务必保留出处和署名,谢谢!】

shell正则表达式 正则表达式正则表达式介绍正则表达式特殊字符正则表达式POSIX字符 处理海量日志对每一个运维来说都非常的头疼,日志分析我们首先需要把需要的数据从海量的日志中匹配出来,降低数据量,然后在分析这些日志。那么从海量的日志中把我们需要的日志找出来就需要我们写一个公式来匹配,那么如何才能写一个这样的公式呢? 正则表达式介绍 正则表达式,也译为正规表示法、常规表示法,是一种字符模式,用于在查找过程中匹配指定的字符。 许多程序设计语言都支持利用正则表达式进行字符串操作。 支持正则表达式的程序如:locate |fin 阅读详情

相关推荐

Shell中判断字符串是否为包含关系的方法

现在每次分析网站日志的时候都需要判断百度蜘蛛是不是真实的蜘蛛,nslookup之后需要判断结果中是否包含“baidu”字符串 以下给出一些shell中判断字符串包含的方法,来源程序员问答网站 stackoverflow 以及segmentfault。 方法一:利用grep查找 strA="long string" strB="string" result=$(echo $strA | gr...

小白_努力 4539

shell 以某个字符开头的判断

 判断是否以v开头 if [[$1 =~^v.* ]]; then     commond else     commond fi    

maketubu7的博客 2万+

组合导航(八):INS/GPS组合导航

INS/GPS组合导航1 误差反馈1.1 开环INS/GPS架构1.2 闭环INS/GPS架构2 组合导航的类型2.1 松耦合 的INS/GPS组合导航2.2 紧耦合 的INS/GPS组合导航2.3 深度耦合的 INS/GPS组合导航3 INS方程的动态误差模型4 松耦合的INS/GPS组合导航模型4.1 系统模型4.2 测量模型4.3 INS/GPS松耦合总框图5 紧耦合的INS/GPS组合导航模型5.1 系统模型5.2 测量模型 INS/GPS组合导航 对比INS与GPS导航方法,二者都有其各自的优.

weixin_43793960的博客 3万+

Shell脚本

文本常用处理工具1(不修改原文件) grep grep过滤包含关键字的行 #语法 grep [选项] "关键字" 文件名 #常用选项 -i 不区分大小写 -v 查找不包含指定内容的行,反向选择 -w 按单词搜索 -o 只打印匹配到的关键字 -c 统计匹配到的次数 -n 显示包含关键字的行号 -r 逐层遍历目录查找 -l 只列出匹配的文件名 -e 使用正则匹配 -A 显示匹配行及后面多少行

qq_38473097的博客 945

Vivado图形化界面烧写MCS文件到SPI FLASH全流程(附常见报错解决方案)

本文详细介绍了使用Vivado图形化界面将MCS文件烧录至SPI FLASH的完整操作流程。内容涵盖从环境准备、MCS文件生成到硬件连接与烧写的每一步,并针对SPI总线宽度报错、FLASH型号识别失败等常见问题提供了深度解决方案,帮助用户高效完成FPGA配置,摆脱对TCL命令行的依赖。

s8t9u0v1w的博客 536

Unity游戏开发客户端面经——数据结构(初级)

Unity游戏开发客户端面经 之 数据结构篇

Sea3752的博客 1万+

shell 如何判断某个文件名以某个字符开头

问题:shell 如何判断某个文件名以某个字符开头~ 解决: #var="cn get the length of me" #$1: parameter 1 传要判断的文件名字 var=$1 isCN=false #${var:0:2} 取var子串,从第0个字符起,取2两个字符 if [[ ${var:0:2} -eq "cn" ]] then echo sub is 

wwamiss的专栏 2553

5分钟搞懂MSDNet:用Transformer实现小样本语义分割的保姆级教程

本文详细介绍了MSDNet(Multi-Scale Decoder Network)如何利用Transformer架构实现小样本语义分割。通过多尺度解码器和空间Transformer解码器,MSDNet能够在仅有1-5张标注图像的情况下完成精确分割任务。文章提供了PyTorch代码实例和优化技巧,帮助开发者快速掌握这一前沿技术。

weixin_30832143的博客 506

【Shell】基本语法

Shell是一个命令行解释器,连接应用程序和操作系统内核。

LittleFish0820 1074

超分算法 SwinIR: Image Restoration Using Swin Transformer

这篇文章结构比较简单,如果看过Swin-Transformer的话就没什么难点了。作者引入Swin-T结构应用于低级视觉任务,包括图像超分辨率重建、图像去噪、图像压缩伪影去除。网络由一个浅层特征提取模块、深层特征提取模块、重建模块构成。重建模块对不同的任务使用不同的结构。浅层特征提取就是一个3×3的卷积层。深层特征提取是k个RSTB块和一个卷积层构成。RSTB(Res- SwinIR: Image Restoration Using Swin Transformer[ICCV 2021]Abstract1.

qq_45122568的博客 1万+

基于Jeecgboot3.8.1的vue3版本前后端分离的flowable流程管理平台

基于Jeecgboot3.8.1的vue3版本前后端分离的flowable流程管理平台

宁波阿成的博客 1544

BASH SHELL 判断是否以某个字符串开头

# ${var:0:2} 取var子串,从第0个字符起,取2两个字符if [[ ${var:0:2} -eq "cn" ]] then echo sub is chinese ${var:0:2} else echo sub is english ${var:0:2} fi

qq_23251505的博客 2113

逆变器、转换器、DCDC、继电器等器件的原理和作用

交流电变成直流电的过程:整流==》滤波==》稳压。

m0_61973119的博客 8030

shell 字符串截取

shell判断字符串是否以'-'开头 也许你也碰到了这样的情况,在shell编程中需要判断一个字符串是否以'-'开始。判断字符串以"-"开头需要是不是你也使用echo呢??如果你也和我一样使用echo,那么下面讲的你要注意了。 假如我们现在有一个字符串a="-y",那么使用echo "$a"|grep "^-",再判断返回值。如果返回值是0,那么说明这个字符串a是以"-"开头的

lengyisheng的专栏 1008

基于Python的网贷平台数据爬虫实战:Scrapy+Selenium+反反爬策略

python复制下载# items.py本文详细介绍了如何使用Python构建一个完整的网贷平台数据爬虫系统,涵盖了从基础爬取到高级反反爬策略的全套解决方案。我们使用了Scrapy框架作为基础,结合Selenium处理动态内容,实现了多种反反爬策略,并探讨了分布式爬虫的实现方式。机器学习识别验证码基于深度学习的网页结构变化检测自动化行为模拟的更精细控制基于Kubernetes的弹性爬虫集群。

2201_76125261的博客 1560

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Linux判断字符串相等、字符串是否包含

此外,除了判断包含关系,这样也可判断字符串是否以某字符串开头或者结尾。以上用到了字符串运算符,不想用直接。

llg___的博客 1万+

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

判断shell中字符串中是否有特定字符,行首行尾中间等特殊情况

在linux系统shell脚本中,有时候会用到判断字符串中是否有某些关键字段 有两种方法,第一种就是直接把这段字符串拆了,把想要的字符串提取出来,当然如果你需要写关键字段,那只能使用这种方法,但是如果我们只需要判断有没有,那可以使用第二种方法”grep” 方法。 如下代码想要搜索一串字符character中是否存在123这些字符,然后直接echo指令,利用管道符号,直接搜索123看有没有结果,...

wq3028的博客 2万+

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

shell判断某个字符串是不是以数字开头_面试中的shell部分看着就对了

“ 进入企业后,大部分情况都是Linux操作系统,那么熟悉命令的用法以外,熟悉使用shell脚本也是让我们有更多时间摸鱼的好办法(ps面试要注意哦),开整!1 shell是什么“ 平时经常在Linux操作系统中使用各种命令,比如查看当前的目录文件,我们会使用"ls"或者"ls -l",这些字符串参数实际上会被"某段程序"执行并启动它。这个负责将用户输入的字符串转换为需要执行程序的东西叫做"shel...

weixin_39884100的博客 5012

linux shell获取字符串第1个字符

str="/home/gateman" if [ ${str:0:1} = "/" ]; then echo "yes'fi ${str:0:1} 中0表示从第几个字符开始,1表示截取多长 转载于:https://www.cnblogs.com/nvd11/archive/2013/04/02/2996890.html...

weixin_30302609的博客 5322

shell脚本判断字符串末尾字符是否有换行符_详细介绍Linux shell脚本基础

Linux shell脚本基础学习,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提。Linux 脚本编写基础◆1.1 语法基本介绍1.1.1 开头程序必须以下面的行开始(必须方在文件的第一行):#!/bin/sh符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序。当编辑好脚本时,如果要执行该脚本,还必须使其可执行。要使脚本可执行:编译 chm...

weixin_39615808的博客 2847

Shell 字符串前缀判断:通配、正则与 POSIX 兼容实践

字符串前缀匹配是 Shell 脚本中高频出现的文本判断需求,核心在于区分字面量前缀、通配模式与正则表达式三种语义。不同判断方式依赖 Shell 的解析机制:case 与 [[ ]] 使用通配模式,=~ 使用正则,参数展开则通过删除前缀后的结果对比实现,POSIX 兼容性与可移植性由此产生差异。理解这些原理,能减少引号、路径名展开和 dash/bash 环境差异带来的静默错误,并在参数解析、URI scheme 分流、配置行过滤等场景中提升脚本健壮性与执行效率。围绕 Shell 字符串前缀判断,进一步梳理通配

weixin_31155097的博客 280

[shell]判断一个字符串是否为数字字符串的两种方法(是否为进程号(PID))

方法一: 在fc4的/etc/init.d/functions文件中,有一句是用来判断字符串是否是pid(当然全部应该是数字啦) [ -z "${p//[0-9]/}"  -a  -d "proc/$p" ] 这句总的意思是看看$p是不是数字串,要是是的话,再看看是不是有/proc/$p这个目录。如果两个都成立,那么$p就是一个进程号了。 "${p//[0-9]/" 的意思是输出一个字符串

shuhuai007的专栏 1921

4-2如何判断字符串a是否以字符串b开头或结尾

1、相关介绍 1.1修改文件权限和查看文件权限 在windows平台实验时 os.chmod()无法将文件权限修改为可执行,暂不深究如何实现。在linux平台进行测试。 (1)创建三个文件 python@ubuntu:/tmp/vmware-python$ ls vmware-apploader-5673.log python@ubuntu:/tmp/vmware-python$ ...

weixin_30507481的博客 440

【Shell】判断是否包含给定字符串

Shell判断文件是否包含给定字符串 给定一个字符,比方说“Hello Linduo”,查找相应文件中是否包含该字符。 方式1:grep # grep -c 返回 file中,与str匹配的行数 grep -c str file FIND_FILE="/home/linduo/test/Test.txt" FIND_STR="Hello Linduo" # 判断匹配函数,匹配函数不为0,则包含给定字符 if [ `grep -c "$FIND_STR" $FIND_FILE` -ne '0' ]

我的笔记本 4万+

【Shell】判断文件是否包含给定字符串

Shell判断文件是否包含给定字符串 给定一个字符,比方说“Hello Linduo”,查找相应文件中是否包含该字符。 方式1:grep # grep -c 返回 file中,与str匹配的行数 grep -c str file FIND_FILE="/home/linduo/test/Test.txt" FIND_STR="Hello Linduo" # 判断匹配函数,匹配函数不为0,则包...

林多 3万+
上一篇: sqoop job import mysql com.mysql.jdbc.Driver包异常
下一篇: shell if else if if elif
lcl_bigdata
博客等级 码龄11年 268粉丝 67原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值