色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

介紹Shell判斷字符串包含關系的幾種方法

馬哥Linux運維 ? 來源:csdn ? 2023-05-12 15:58 ? 次閱讀

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

我們在寫 bash 腳本的時候,假如有一個字符串,我們想檢查其中是否包含另一個子字符串,那這個時候需要怎樣做呢?這里介紹Shell判斷字符串包含關系的幾種方法

1、通過grep來判斷:

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

先打印長字符串,然后在長字符串中 grep 查找要搜索的字符串,用變量result記錄結果,如果結果不為空,說明str1包含str2。如果結果為空,說明不包含。這個方法充分利用了grep 的特性,最為簡潔。

2、字符串運算符

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

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

3、利用通配符

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

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

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判斷文件是否包含給定字符串

給定一個字符,比方說“Hello Weijishu”,查找相應文件中是否包含該字符。

方式1:grep

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




FIND_FILE="/home/linduo/test/Test.txt"
FIND_STR="Hello Weijishu"
# 判斷匹配函數,匹配函數不為0,則包含給定字符
if [ `grep -c "$FIND_STR" $FIND_FILE` -ne '0' ];then
    echo "The File Has Hello Weijishu!"
    exit 0
fi 

方式2:cat、while、read組合使用。使用這種方式,要注意時while read 在子shell中運行。

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





審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 字符串
    +關注

    關注

    1

    文章

    584

    瀏覽量

    20553
  • Shell
    +關注

    關注

    1

    文章

    366

    瀏覽量

    23412

原文標題:Shell判斷是否包含給定字符串

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

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

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

    Python字符串的特點和修改字符串的常見四種方法

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

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

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

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

    教你7個Python判斷字符串是否包含方法
    的頭像 發表于 08-17 10:52 ?5115次閱讀
    教你7個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語言中字符串拷貝函數有幾種方法

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

    平化字符串處理方法簡介

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

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

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

    python字符串有哪些特定方法

    python字符串序列操作也適用于列表和元組。 python字符串還有獨有方法,即字符串對象的函數,其他對象不可調用,只有字符串對象可
    的頭像 發表于 02-23 15:02 ?724次閱讀

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

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

    Python中檢查字符串包含方法

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

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

    方法 使用 字符串 對象的 find 方法,如果有找到子,就可以返回指定子字符串中的出現
    的頭像 發表于 11-02 10:55 ?513次閱讀

    mysql字符串包含某個字符串

    將詳盡、詳實、細致地探討MySQL中字符串包含的實現方法。 在MySQL中,可以通過使用內建函數和通配符來實現字符串包含的操作。下面將詳細
    的頭像 發表于 11-16 14:52 ?3845次閱讀

    linux搜索文件里的字符串

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

    oracle判斷字符串包含某個字符

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

    C語言字符串編譯函數介紹

    在C語言中,字符串實際上是使用null字符O'終止的一維字符數組。因此,一個以null結尾的字符串包含了組成
    的頭像 發表于 03-07 16:18 ?524次閱讀
    C語言<b class='flag-5'>字符串</b>編譯函數<b class='flag-5'>介紹</b>
    主站蜘蛛池模板: 精品久久久久中文字幕日本 | 在线看无码的免费网站| mxgs-877痉挛媚药按摩| 美女大本营| 自拍黄色片| 久久re热线视频国产| 亚洲国产成人综合| 国产精品久久久久久搜索| 三级在线观看网站| 国产成人免费高清在线观看| 日韩亚洲欧美中文高清| 国产99精品视频一区二区三区| 日本枯瘦娇小| 国产二级一片内射视频播放 | 国产国拍亚洲精品永久软件| 日产久久视频| 国产成人综合视频| 亚洲AV噜噜88| 久草精品在线| 87.6在线收听| 日本精品久久久久中文字幕 1| 草莓视频在线看免费高清观看| 日日碰狠狠躁久久躁综合网| 国产精品av| 亚洲精品在线不卡| 久久黄色网址| 97视频免费观看| 青草久久久| 国产精品乱码色情一区二区视频| 亚洲AV久久无码精品蜜桃| 精品无码一区二区三区中文字幕| 中文在线中文资源| 欧洲亚洲精品A片久久99果冻| 草莓视频在线观看免费观看高清| 忘忧草秋观看未满十八| 寂寞夜晚看免费视频| 2021国产精品一卡2卡三卡4卡| 秋霞伦理电影在2017韩国在线伦| 国产精品乱人无码伦AV在线A| 亚洲AV无码国产精品午夜久久| 久久精品亚洲AV中文2区金莲 |