-3

我希望搜索一个字符串是否在中间包含“CI”,无论它是多长。字母可以出现在任何地方,长度可以变化。我还希望将其用作 shell 脚本的条件开关。所以任何可以在 IF 中使用的命令来确定一个字符串是否包含这个。感谢帮助,因为这提供了如何使用它的洞察力。

4

2 回答 2

1

不是正则表达式,但适用于 POSIX sh(更便携)

case "$FOO" in
*CI*)
    # do something
    ;;
esac

正则表达式

if expr "$FOO" : '.*CI' >/dev/null; then 
    # do something
fi

if echo "$FOO" | grep 'CI' >/dev/null; then
    # do something
fi

不是带有许多外壳的正则表达式(bash ksh)

if [[ $FOO = *CI* ]]; then
    # do something
fi

正则表达式 bash 特定

if [[ $FOO =~ CI ]]; then
    # do something
fi
于 2012-10-25T18:27:48.590 回答
0

你可以使用

echo $FOO | grep CI

我猜。

于 2012-10-25T18:19:24.603 回答