求shell脚本匹配字符串的函数

如果给的字符串是文件的全路径,如/111/222/333/44.txt;存在一个配置文件path.cfg,格式为:111/222222/333;就是一些路径,也可能是路径... 如果给的字符串是文件的全路径,如/111/222/333/44.txt;

存在一个配置文件path.cfg,格式为:

111/222

222/333;

就是一些路径,也可能是路径中的某一部分。

要求这个函数能实现,check传入的路径能否与配置文件中的路径相匹配;

例子中,就是使用 “111/222/333/” 来配置path.cfg,只要有一条匹配成功,就算成功;我这个例子中的话,在第一条就应该匹配成功。

可能有点麻烦,大侠千万帮忙啊,感激不尽!!!
展开
 我来答
百度网友5311d79
2014-03-27 · TA获得超过1.9万个赞
知道大有可为答主
回答量:6356
采纳率:71%
帮助的人:3233万
展开全部
#!/bin/sh
matchPath()
{
   path="$1"
   isFound=0
   while read line
   do
      echo "$path" | grep -q "$line"
      if [ $? -eq 0 ]; then
         isFound=1
         break
      fi
   done <path.cfg
   [ $isFound -eq 1 ] && echo "Match found!" || echo "No match!"
}
if [ $# -eq 0 ]; then
   echo "One argument is required at least."
   exit 1
fi
matchSuffix "$1"
exit 0
海南小蟋蟀
2014-03-27 · TA获得超过1458个赞
知道小有建树答主
回答量:1638
采纳率:33%
帮助的人:939万
展开全部
用正则表达式就可以喽
追问
我就是不熟啊,对linux命令不熟,能不能帮我写一下 这个函数啊,感激!!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式