Macの端末で作業しているときに、文字列内に単語が存在するかどうかをどのように見つけることができるのでしょうか。単語とスペースを含む文字列を含む変数「a」と、単語を含む変数「b」があるとします。ifを介して、「b」という単語が「a」に含まれているか、「a」の単語の1つに含まれているかを確認したいと思います。ありがとう!
質問する
2732 次
2 に答える
4
==
でパターンマッチングを使用できます[[ ... ]]
:
#!/bin/bash
a='I was wondering how, working on terminal on a Mac, can I find if a word is present inside a string.'
b=Mac
if [[ $a == *$b* ]] ; then
echo Found.
fi
于 2013-03-15T12:23:34.567 に答える
0
使用するgrep
$ a='I was wondering how, working on terminal on a Mac, can I find if a word is present inside a string.'
$ b='Mac'
$ c='xxx'
$ grep -q $b <<< $b
$ echo $?
0
$ grep -q $c <<< $c
$ echo $?
1
からman grep
-q, --quiet, --silent Quiet; do not write anything to standard output. Exit immediately with zero status if any match is found
ifステートメントに入れるには、次を使用します
if grep -q foo <<< $string; then
echo "It's there"
fi
または、正規表現ソリューションを好む場合:
string='My string';
if [[ $string =~ .*My.* ]]
then
echo "It's there!"
fi
または、caseステートメントを使用します。
case "$string" in
*My*)
echo match
;;
esac
于 2013-03-15T12:42:27.490 に答える