bash提供了可操作路径名称字符串和其它字符串的字符串模式匹配运算符。
注意区分和通配符的区别:http://blog.sina.com.cn/s/blog_ac9fdc0b0101ls9h.html
还有正则表达式的区别:http://blog.sina.com.cn/s/blog_ac9fdc0b0101lvqp.html
*********************************************************************************************
#
##
%
%%
============================================================
这些运算符的语法形式如下: ${ varname op pattern } (各种括号,晕了)
注意使用# pattern必须是匹配前缀的模式;
使用%,pattern必须死匹配后缀的模式,不然会出错;
注意这里的pattern不是正则表达式
*********************************************************************************************
这四个操作对它们的用法表达的很清楚了,注意一点//不是正则表达式的模式,而是指匹配name中的/符号。
下面是两个应用,提取文件的前缀名:
#!/bin/bash
echo -e "\n******************************************\n" >> branch_out
grep -n name $1 | while read line;
do
str3=${line##*name=};
str5=${str3#\"};
str6=${str5%%\"*};
echo $str6 >> branch_out;
done;
echo -e "\n******************************************\n" >> branch_out
echo -e "\n******************************************\n" >> branch_out
~