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

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

    文章

    589

    瀏覽量

    21231
  • Shell
    +關注

    關注

    1

    文章

    372

    瀏覽量

    24135

原文標題: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 ?1150次閱讀

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

    教你7個Python判斷字符串是否包含方法
    的頭像 發表于 08-17 10:52 ?5372次閱讀
    教你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 ?5038次閱讀

    平化字符串處理方法簡介

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

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

    如何利用Java通過不同的方法判斷一個字符串是否包含某個字符。 **2 ****方法**
    的頭像 發表于 02-17 15:13 ?1888次閱讀
    如何利用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 ?943次閱讀

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

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

    Python中檢查字符串包含方法

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

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

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

    mysql字符串包含某個字符串

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

    linux搜索文件里的字符串

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

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

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

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

    在C語言中,字符串實際上是使用null字符O'終止的一維字符數組。因此,一個以null結尾的字符串,包含了組成
    的頭像 發表于 03-07 16:18 ?700次閱讀
    C語言<b class='flag-5'>字符串</b>編譯函數<b class='flag-5'>介紹</b>
    主站蜘蛛池模板: 韩国三级无遮挡床戏视频 | 欧美色啪| 三级视频网站在线观看播放 | 国产精品亚洲四区在线观看 | 米奇色影院 | 日本亚洲高清乱码中文在线观看 | 国模大尺度人体一区 | 欧美人与禽交 | 国产午夜精品片一区二区三区 | 国产成人高清精品免费5388密 | 91欧美精品激情在线观看 | 国模私拍在线视频 | 夜夜做日日做夜夜爽 | 在线看逼| 毛片视频网址 | 亚洲一区色 | 好大好紧好爽好湿润视频 | 亚洲最大成人综合网 | 97人摸人人澡人人人超一碰 | 亚洲 欧美 自拍 另类 欧美 | 深夜看片在线观看18 | 天堂网在线.www天堂在线资源 | 美女在线看永久免费网址 | 五月天激情开心网 | 女人张开腿让男人桶视频免费大全 | 免费看男女下面日出水视频 | 欧美国产一区二区二区 | 四虎884tt紧急大通知 | 91极品女神嫩模在线播放 | 国产精品免费观看网站 | 免费人成年短视频在线观看免费网站 | 美女视频永久黄网站在线观看 | 亚洲羞羞裸色私人影院 | 五月婷婷丁香综合网 | 35pao免费视频 | 男人的天堂在线免费视频 | 免费观看黄a一级视频日本 免费观看黄色网页 | 日韩特级毛片免费观看视频 | 久久久久国产一级毛片高清版 | 看视频免费网址 | 亚洲精品一线二线三线 |