求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,只要有一条匹配成功,就算成功;我这个例子中的话,在第一条就应该匹配成功。
可能有点麻烦,大侠千万帮忙啊,感激不尽!!! 展开
存在一个配置文件path.cfg,格式为:
111/222
222/333;
就是一些路径,也可能是路径中的某一部分。
要求这个函数能实现,check传入的路径能否与配置文件中的路径相匹配;
例子中,就是使用 “111/222/333/” 来配置path.cfg,只要有一条匹配成功,就算成功;我这个例子中的话,在第一条就应该匹配成功。
可能有点麻烦,大侠千万帮忙啊,感激不尽!!! 展开
2个回答
展开全部
#!/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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询