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)