日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁 > 科技  > 軟件

Shell判斷是否包含給定字符串

來源: 責(zé)編: 時(shí)間:2024-01-10 09:35:45 192觀看
導(dǎo)讀在 bash 腳本中,有不止一種檢查子字符串的方法,我們今天介紹一些簡(jiǎn)單的例子,然后在分享一個(gè)常用的 bash 腳本。我們?cè)趯?bash 腳本的時(shí)候,假如有一個(gè)字符串,我們想檢查其中是否包含另一個(gè)子字符串,那這個(gè)時(shí)候需要怎樣做呢?這

在 bash 腳本中,有不止一種檢查子字符串的方法,我們今天介紹一些簡(jiǎn)單的例子,然后在分享一個(gè)常用的 bash 腳本。IFk28資訊網(wǎng)——每日最新資訊28at.com

IFk28資訊網(wǎng)——每日最新資訊28at.com

我們?cè)趯?bash 腳本的時(shí)候,假如有一個(gè)字符串,我們想檢查其中是否包含另一個(gè)子字符串,那這個(gè)時(shí)候需要怎樣做呢?這里介紹Shell判斷字符串包含關(guān)系的幾種方法IFk28資訊網(wǎng)——每日最新資訊28at.com

1、通過grep來判斷:

str1="abcdefgh"str2="def"result=$(echo $str1 | grep "${str2}")if [[ "$result" != "" ]]then    echo "包含"else    echo "不包含"fi

先打印長字符串,然后在長字符串中 grep 查找要搜索的字符串,用變量result記錄結(jié)果,如果結(jié)果不為空,說明str1包含str2。如果結(jié)果為空,說明不包含。這個(gè)方法充分利用了grep 的特性,最為簡(jiǎn)潔。IFk28資訊網(wǎng)——每日最新資訊28at.com

2、字符串運(yùn)算符

str1="abcdefgh"str2="def"if [[ $str1 =~ $str2 ]]then    echo "包含"else    echo "不包含"fi

利用字符串運(yùn)算符 =~ 直接判斷str1是否包含str2。IFk28資訊網(wǎng)——每日最新資訊28at.com

3、利用通配符

str1="abcdefgh"str2="def"if [[ $str1 == *$str2* ]]then    echo "包含"else    echo "不包含"fi

用通配符*號(hào)代理str1中非str2的部分,如果結(jié)果相等說明包含,反之不包含。IFk28資訊網(wǎng)——每日最新資訊28at.com

4、利用case in 語句

str1="abcdefgh"str2="def"case $str1 in     *"$str2"*) echo Enemy Spot ;;    *) echo nope ;;esac

5、利用替換

str1="abcdefgh"str2="def"if [[ ${str1/${str2}//} == $str1 ]]    then       echo "不包含"    else      echo "包含"fi

注意下文中的用的是[[]]還是[]IFk28資訊網(wǎng)——每日最新資訊28at.com

Shell判斷文件是否包含給定字符串IFk28資訊網(wǎng)——每日最新資訊28at.com

給定一個(gè)字符,比方說“Hello Weijishu”,查找相應(yīng)文件中是否包含該字符。IFk28資訊網(wǎng)——每日最新資訊28at.com

方式1:grepIFk28資訊網(wǎng)——每日最新資訊28at.com

# grep -c 返回 file中,與str匹配的行數(shù)grep -c str fileFIND_FILE="/home/linduo/test/Test.txt"FIND_STR="Hello Weijishu"# 判斷匹配函數(shù),匹配函數(shù)不為0,則包含給定字符if [ `grep -c "$FIND_STR" $FIND_FILE` -ne '0' ];then    echo "The File Has Hello Weijishu!"    exit 0fi

方式2:cat、while、read組合使用。使用這種方式,要注意時(shí)while read 在子shell中運(yùn)行。IFk28資訊網(wǎng)——每日最新資訊28at.com

FIND_FILE="/home/weijishu/test/Test.txt"FIND_STR="Hello Weijishu"cat $FIND_FILE| while read linedoif [[ $line =~ $FIND_STR ]];then    echo "The File Has Hello Weijishu!"fidone


IFk28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-59671-0.htmlShell判斷是否包含給定字符串

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: 維護(hù)太累了!2024年,我們還需要前端框架嗎

下一篇: 全球汽車配置器開發(fā)商生態(tài)圈采用 NVIDIA Omniverse

標(biāo)簽:
  • 熱門焦點(diǎn)
  • 2023年Q2用戶偏好榜:12+256G版本成新主流

    3月份的性能榜、性價(jià)比榜和好評(píng)榜之后,就要輪到2023年的第二季度偏好榜了,上半年的新機(jī)潮已經(jīng)過去,最明顯的肯定就是大內(nèi)存和存儲(chǔ)的機(jī)型了,另外部分中端機(jī)也取消了屏幕塑料支架
  • 6月安卓手機(jī)性價(jià)比榜:Note 12 Turbo斷層式碾壓

    6月份有一個(gè)618,雖然這是京東周年慶的日子,但別的電商也都不約而同的跟進(jìn)了,反正促銷沒壞處,廠商和用戶都能滿意。618期間一些產(chǎn)品也出現(xiàn)了歷史低價(jià),那么各個(gè)價(jià)位段的產(chǎn)品性價(jià)比
  • Golang 中的 io 包詳解:組合接口

    io.ReadWriter// ReadWriter is the interface that groups the basic Read and Write methods.type ReadWriter interface { Reader Writer}是對(duì)Reader和Writer接口的組合,
  • 2023年,我眼中的字節(jié)跳動(dòng)

    此時(shí)此刻(2023年7月),字節(jié)跳動(dòng)從未上市,也從未公布過任何官方的上市計(jì)劃;但是這并不妨礙它成為中國最受關(guān)注的互聯(lián)網(wǎng)公司之一。從2016-17年的抖音強(qiáng)勢(shì)崛起,到2018年的“頭騰
  • 電視息屏休眠仍有網(wǎng)絡(luò)上傳 愛奇藝被質(zhì)疑“薅消費(fèi)者羊毛”

    記者丨寧曉敏 見習(xí)生丨汗青出品丨鰲頭財(cái)經(jīng)(theSankei) 前不久,愛奇藝發(fā)布了一份亮眼的一季報(bào),不僅營收和會(huì)員營收創(chuàng)造歷史最佳表現(xiàn),其運(yùn)營利潤也連續(xù)6個(gè)月實(shí)現(xiàn)增長。自去年年初
  • 破圈是B站頭上的緊箍咒

    來源 | 光子星球撰文 | 吳坤諺編輯 | 吳先之每年的暑期檔都少不了瞄準(zhǔn)追劇女孩們的古偶劇集,2021年有優(yōu)酷的《山河令》,2022年有愛奇藝的《蒼蘭訣》,今年卻輪到小破站抓住了追
  • iQOO Neo8 Pro搶先上架:首發(fā)天璣9200+ 安卓性能之王

    經(jīng)過了一段時(shí)間的密集爆料,昨日iQOO官方如期對(duì)外宣布:將于5月23日推出全新的iQOO Neo8系列新品,官方稱這是一款擁有旗艦級(jí)性能調(diào)校的作品。隨著發(fā)布時(shí)
  • 華為舉行春季智慧辦公新品發(fā)布會(huì) 首次推出電子墨水屏平板

    北京時(shí)間2月27日晚,華為在巴塞羅那舉行春季智慧辦公新品發(fā)布會(huì),在海外市場(chǎng)推出之前已經(jīng)在中國市場(chǎng)上市的筆記本、平板、激光打印機(jī)等辦公產(chǎn)品,并首次推出搭載
  • 親歷馬斯克血洗Twitter,硅谷的苦日子在后頭

    文/劉哲銘  編輯/李薇  馬斯克再次揮下裁員大刀。  美國時(shí)間11月14日,Twitter約4400名外包員工遭解雇,此次被解雇的員工的主要工作為內(nèi)容審核等。此前,T
Top 主站蜘蛛池模板: 曲沃县| 光山县| 和林格尔县| 揭东县| 尉氏县| 长乐市| 呼和浩特市| 明光市| 达日县| 梁山县| 桃源县| 彰化市| 湘阴县| 榆中县| 金山区| 都江堰市| 广州市| 申扎县| 浠水县| 玉林市| 铁岭县| 天门市| 板桥市| 江都市| 昌宁县| 棋牌| 孙吴县| 合阳县| 东辽县| 建湖县| 郯城县| 荥阳市| 永定县| 常宁市| 将乐县| 巴林右旗| 厦门市| 叙永县| 宣城市| 任丘市| 磐安县|