【shell】判斷一個字符串是否在文本中


1. 方法一:[[ "${array[@]}" =~ "字符串" ]]

names="This is a computer , I am playing games in the computer"
if [[ "${names[@]}" =~ "playing" ]]; then
 echo 'string exist'
fi

 

2. 方法二,轉換為數組

#!/bin/bash
a="hello,world,nice,to,meet,you"
#要將$a分割開,先存儲舊的分隔符
OLD_IFS="$IFS"

#設置分隔符
IFS="," 

#如下會自動分隔
arr=($a)

#恢復原來的分隔符
IFS="$OLD_IFS"

#遍歷數組
for s in ${arr[@]}
do
  echo "$s"
done

介紹:

變量$IFS存儲着分隔符,這里我們將其設為逗號 "," OLD_IFS用於備份默認的分隔符,使用完后將之恢復默認。
arr=($a)用於將字符串$a按IFS分隔符分割到數組$arr
${arr[0]} ${arr[1]} ... 分別存儲分割后的數組第1 2 ... 項
${arr[@]}存儲整個數組。
${!arr[@]}存儲整個索引值:1 2 3 4 ...
${#arr[@]} 獲取數組的長度。

 

參考鏈接:

https://www.jb51.net/article/197827.htm


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM