在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

介紹Shell判斷字符串包含關(guān)系的幾種方法

馬哥Linux運(yùn)維 ? 來源:csdn ? 2023-05-12 15:58 ? 次閱讀

在 bash 腳本中,有不止一種檢查子字符串的方法,我們今天介紹一些簡(jiǎn)單的例子,然后在分享一個(gè)常用的 bash 腳本。

我們?cè)趯?bash 腳本的時(shí)候,假如有一個(gè)字符串,我們想檢查其中是否包含另一個(gè)子字符串,那這個(gè)時(shí)候需要怎樣做呢?這里介紹Shell判斷字符串包含關(guān)系的幾種方法

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)潔。

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

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

利用字符串運(yùn)算符 =~ 直接判斷str1是否包含str2。

3、利用通配符

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

用通配符*號(hào)代理str1中非str2的部分,如果結(jié)果相等說明包含,反之不包含。

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

注意下文中的用的是[[]]還是[]

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

給定一個(gè)字符,比方說“Hello Weijishu”,查找相應(yīng)文件中是否包含該字符。

方式1:grep

# grep -c 返回 file中,與str匹配的行數(shù)
grep -c str file




FIND_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 0
fi 

方式2:cat、while、read組合使用。使用這種方式,要注意時(shí)while read 在子shell中運(yùn)行。

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





審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 字符串
    +關(guān)注

    關(guān)注

    1

    文章

    589

    瀏覽量

    21018
  • Shell
    +關(guān)注

    關(guān)注

    1

    文章

    371

    瀏覽量

    23844

原文標(biāo)題:Shell判斷是否包含給定字符串

文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Linux Shell系列教程之Shell字符串用法

    Shell字符串用法Shell中的字符串可以用引號(hào)包起來,也可以不用引號(hào)。用引號(hào)的話可以用雙引號(hào),也可以用單引號(hào)。其單雙引號(hào)的區(qū)別跟PHP相類似。接下來給大家
    發(fā)表于 08-29 16:01

    Python字符串的特點(diǎn)和修改字符串的常見四種方法

    Python中修改字符串幾種方法
    發(fā)表于 02-26 16:52

    字符串移位包含的問題解決方案

    問題:給定字符串s和t,判斷是否字符串t能通過將s移位后的字符串包含方法一 最簡(jiǎn)單的
    發(fā)表于 11-29 10:05 ?1125次閱讀

    教你7個(gè)Python判斷字符串是否包含方法

    教你7個(gè)Python判斷字符串是否包含方法
    的頭像 發(fā)表于 08-17 10:52 ?5278次閱讀
    教你7個(gè)Python<b class='flag-5'>判斷</b><b class='flag-5'>字符串</b>是否<b class='flag-5'>包含</b>子<b class='flag-5'>串</b>的<b class='flag-5'>方法</b>

    C語言中字符串拷貝函數(shù)有幾種方法

    strcpy,即string copy(字符串復(fù)制)的縮寫。 是C語言標(biāo)準(zhǔn)庫中實(shí)現(xiàn)字符串拷貝的一個(gè)函數(shù)。 各大公司筆試題最喜歡考的一道題,快來看看,你會(huì)幾種方法? 問:你會(huì)如何實(shí)現(xiàn)這個(gè)函數(shù)呢? 1
    的頭像 發(fā)表于 03-12 14:16 ?4960次閱讀

    平化字符串處理方法簡(jiǎn)介

    這里介紹一組有用的字符串處理方法,即平化至字符串和從字符串還原。
    的頭像 發(fā)表于 09-26 10:20 ?2489次閱讀

    如何利用Java判斷一個(gè)字符串是否包含某個(gè)字符

    如何利用Java通過不同的方法判斷一個(gè)字符串是否包含某個(gè)字符。 **2 ****方法**
    的頭像 發(fā)表于 02-17 15:13 ?1765次閱讀
    如何利用Java<b class='flag-5'>判斷</b>一個(gè)<b class='flag-5'>字符串</b>是否<b class='flag-5'>包含</b>某個(gè)<b class='flag-5'>字符</b>

    python字符串有哪些特定方法

    python字符串序列操作也適用于列表和元組。 python字符串還有獨(dú)有方法,即字符串對(duì)象的函數(shù),其他對(duì)象不可調(diào)用,只有字符串對(duì)象可
    的頭像 發(fā)表于 02-23 15:02 ?860次閱讀

    C語言定義字符串幾種方法

    C語言中定義字符串有哪些方法
    的頭像 發(fā)表于 03-31 09:41 ?3862次閱讀

    Python中檢查字符串包含方法

    Python 有多種處理字符串方法。今天我們介紹如何檢查一個(gè)字符串中是否包含另一個(gè)字符串
    的頭像 發(fā)表于 05-14 16:02 ?1.6w次閱讀

    Python 如何判斷字符串是否包含

    方法 使用 字符串 對(duì)象的 find 方法,如果有找到子,就可以返回指定子字符串中的出現(xiàn)
    的頭像 發(fā)表于 11-02 10:55 ?656次閱讀

    mysql字符串包含某個(gè)字符串

    將詳盡、詳實(shí)、細(xì)致地探討MySQL中字符串包含的實(shí)現(xiàn)方法。 在MySQL中,可以通過使用內(nèi)建函數(shù)和通配符來實(shí)現(xiàn)字符串包含的操作。下面將詳細(xì)
    的頭像 發(fā)表于 11-16 14:52 ?4259次閱讀

    linux搜索文件里的字符串

    在Linux系統(tǒng)中,我們可以使用各種方法來搜索文件中的字符串。在本文中,我將為您詳細(xì)介紹幾種常用的方法和工具。讓我們開始吧! grep命令
    的頭像 發(fā)表于 11-23 10:20 ?1812次閱讀

    oracle判斷字符串包含某個(gè)字符

    字符串操作是任何編程語言中都非常重要的一部分,Oracle數(shù)據(jù)庫作為目前最常用的關(guān)系型數(shù)據(jù)庫之一,也提供了豐富的字符串操作函數(shù)和方法。在本文中,我們將詳細(xì)解析如何在Oracle中
    的頭像 發(fā)表于 12-06 09:53 ?1.6w次閱讀

    C語言字符串編譯函數(shù)介紹

    在C語言中,字符串實(shí)際上是使用null字符O'終止的一維字符數(shù)組。因此,一個(gè)以null結(jié)尾的字符串包含了組成
    的頭像 發(fā)表于 03-07 16:18 ?631次閱讀
    C語言<b class='flag-5'>字符串</b>編譯函數(shù)<b class='flag-5'>介紹</b>
    主站蜘蛛池模板: 狠狠的干狠狠的操 | www亚洲一区 | 国产黄视频在线观看 | 美女黄页网 | 波多野吉衣一区二区三区在线观看 | 天堂中文www在线 | 国产免费久久精品 | 手机在线看片你懂的 | 亚洲成年人免费网站 | 新午夜影院| 久久999| 一级毛片真人免费播放视频 | 你懂的在线观看网站 | jiuse在线| 操久在线 | 2021久久精品免费观看 | 女人特黄大aaaaaa大片 | 国产高清片 | 欧美成人精品一级高清片 | 羞羞色男人的天堂伊人久久 | 五月天婷婷丁香 | 四虎在线观看一区二区 | 色老头永久免费网站 | 久草免费新视频 | 成 人 黄 色视频免费播放 | 一级a性色生活片毛片 | 天天摸天天操免费播放小视频 | aaaaaa级特色特黄的毛片 | 天堂bt在线网bt | 天堂免费在线视频 | 五月婷婷深深爱 | 三级色图 | 女同在线视频 | 欧美日韩啪啪 | 四虎永久在线精品免费观看地址 | 亚洲激情四射 | 国产精品午夜久久久久久99热 | 日本黄色大片免费观看 | 蝌蚪自拍网二区 | 欧美一级日韩一级亚洲一级 | 国产精品嫩草影院午夜 |