shell 删除代码中的注释

#!/bin/bash
function scandir() {
    local cur_dir parent_dir workdir
    workdir=$1
    cd ${workdir}
    if [ ${workdir} = "/" ]
    then
        cur_dir=""
    else
        cur_dir=$(pwd)
    fi

    for dirlist in $(ls ${cur_dir})
    do
        #replace Dir 
        if [[ ${dirlist} =~ 'Dir' ]]
        then
            newdir=${dirlist//Dir/Qyprc}
            echo $newdir
            `mv ${cur_dir}/${dirlist} ${cur_dir}/${newdir}`
            dirlist=$newdir
        fi
        if test -d ${dirlist};then
            cd ${dirlist}
            scandir ${cur_dir}/${dirlist}
            cd ..
        else
            #delete php file
            if [ ${dirlist##*.} = 'php' ]
            then
                #replace Dir to QyProject
                sed -i "s/Dir/Qyprc/g" ${cur_dir}/${dirlist}
                sed -i "s/Dir/qyprc/g" ${cur_dir}/${dirlist}
                sed -i "s/Dir/QYPRC/g" ${cur_dir}/${dirlist}
                #delete the comment line begin with '//comment'
                #sed -i "/^[ 	]*///d" ${cur_dir}/${dirlist}
                #delete the commnet line end with '//comment'
                #sed -i "s/// [^"]*//" ${cur_dir}/${dirlist}
                #delete the comment only occupied one line '/* commnet */'
                #sed -i "s//*.**///" ${cur_dir}/${dirlist}   
                #delete the comment that occupied many lines '/**comment
                #                                              *comment
                #                                              */
                #sed -i "/^[ 	]*/*/,/.**//d" ${cur_dir}/${dirlist}
                #sed -i "/^[ 	]*#/d" ${cur_dir}/${dirlist}
                echo ${cur_dir}/${dirlist}
            fi
        fi
    done
}

if test -d $1
then
    scandir $1
elif test -f $1
then
    echo "you input a file but not a directory,pls reinput and try again"
    exit 1
else
    echo "the Directory isn't exist which you input,pls input a new one!!"
    exit 1
fi
原文地址:https://www.cnblogs.com/qy-brother/p/7717716.html