bash字符串匹配

5330阅读 3评论2013-06-18 aquester
分类:LINUX

#!/bin/sh


foo()
{
    local basedir=$1
    local all_entries=`ls -c`


    for entry in $all_entries
    do  
        if test -d $entry; then
            cd $entry&&foo ${basedir}/$entry;cd - >/dev/null
        else
            if [[ $entry =~ .+\.(cpp|cc|h|hpp) ]]; then # 看这里
                #echo $basedir/$entry
                source_files="$source_files $basedir/$entry"
            fi  
        fi  
    done
}


foo .
echo $source_files


An additional binary operator, =~, is available, with the same precedence as == and !=.  When it is used, the string to the right of the operator is considered an extended regular expression and matched accordingly (as in  regex(3)).   The  return value  is  0 if the string matches the pattern, and 1 otherwise.  If the regular expression is syntactically incorrect, the conditional expression's return value is 2.
上一篇:redis的一些简介
下一篇:请关注“原创推荐”

文章评论