shell脚本-头文件名大小写纠正

generate_file_list.sh:

#!/bin/bash

file_list=`pwd`/file_list

echo $file_list
cd $1
used_headers=$(grep -R "#include" -h | sed 's/[[:space:]]//g' | grep -E "^#" | sed 's/^.\{9\}//g' | sed 's/[\">].*//g'| sed 's/^[^a-zA-Z]*//g' | sed 's@\/@\\\/@g' | sed 's/\./\\\./g' | sort -b | uniq)
headers=$(find $2 -name "*.h")

for used in $used_headers
do
    echo $used
    echo $headers | grep -i -o -E "\<$used\>" >> tmp_file_list
done

cat tmp_file_list | sort -b | uniq | grep -E "\.h" > $file_list

file_name_replace.sh:

#!/bin/bash

headers=$(cat $1)

recursion(){
    for file in $(ls -p | grep -E "[^/]$")
    do
        echo $1$file
        for header in $headers
        do
            re=$(echo $header | sed "s@\/@\\\/@g" | sed "s@\.@\\\.@g")
            sed -i "s@\<$re\>@$header@ig" $file
        done
    done

    for dir in $(ls -p | grep -E "\/$")
    do
        cd $dir
        recursion $(pwd)$dir
        cd ..
    done
}

cd $2
recursion $(pwd)

猜你喜欢

转载自blog.csdn.net/qq_39660930/article/details/78215480
今日推荐