【发布时间】:2009-12-23 08:35:38
【问题描述】:
是否有任何 bash 命令可以执行类似的操作:
if [[ $string =~ $pattern ]]
但它适用于简单的通配符 (?,*) 而不是复杂的正则表达式 ??
更多信息:
我有一个配置文件(一种类似 .ini 的文件),其中每一行都由通配符模式和一些其他数据组成。
对于我的脚本接收的任何给定输入字符串,我必须在配置文件中找到通配符模式与输入字符串匹配的第一行,然后返回该行中的其余数据。
这很简单。我只需要一种将字符串与通配符模式而不是正则表达式匹配的方法,因为模式可能包含点、括号、破折号等,我不希望这些被解释为特殊字符。
【问题讨论】:
-
您到底想完成什么?更多细节请...
-
将字符串与通配符模式匹配
-
人力资源管理。很公平。如果这是一个“我如何使用 unix 工具做到这一点”的问题,我的答案是“perl”。如果它是“我如何用 bash 做到这一点”,我说它应该作为 bash 编程问题迁移到 stackoverflow.com。有什么想法吗?
-
因为我要求的是一个简单的命令,我并不认为这是一个真正的“编程”问题
-
好吧,既然您真正要问的是 bash 语法,也就是 bash 编程语法,我认为这更像是一个编程问题。我正在投票迁移。这是一个很好的问题,但我认为更适合 SO。