shell - 狂欢 : Search for specific special character in string

标签 shell

我想检查我的字符串中是否存在特殊字符 *。我找过例子,但都提到了 [^[A..za..z0..9]].. 但这会给你字符串中的所有特殊字符,但不完全是你的字符寻找。 因此,如果我的字符串包含 * 或 [:space:]* 或任何后跟 * 的字符(而不是/* 或 */),则结果应该为 true,否则为 false。

Ex: 
Uint_8* A
Uint_16 * A
ABC * C    /*blablabla*/
ABC* C .. Should return true  
but 
Uint_8 A       /*blabla*/ ..... should return false

你能帮帮我吗?

最佳答案

您需要的正则表达式是[^/]\*[^/]:

例如,如果您的字符串存储在一个变量中:

$ var='Uint_8 A       /*blabla*/'
$ [[ $var =~ [^/]\*[^/] ]] && echo true || echo false
false

grep 从文件中匹配:

$ grep "[^/]\*[^/]" file
Uint_8* A
Uint_16 * A
ABC * C    /*blablabla*/
ABC* C .. Should return true

关于shell - 狂欢 : Search for specific special character in string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15112454/

相关文章:

shell - 防止重复变量并使用 awk 语句进行打印

bash - 用于查找机器操作系统的 Shell 脚本

bash - 用于检查字符串是否存在于以逗号分隔的字符串列表中的 Bash 脚本

linux - Shell 脚本,命令行参数

linux - 如何在不离开当前 shell 的情况下在当前 shell 中间脚本中设置 sudo?

linux - Bash 脚本,按顺序列出数字 1-1000,概率为黄色,偶数为绿色,素数为蓝色

linux - 删除文件中模式之间所有出现的某些字符

c++ - 如何从 C 程序调用 bash shell 脚本中定义的函数

bash - 当今最好的(可移植和可维护的)Shell 脚本语言是什么?

shell - 修改两个模式之间的每一行字符