#!/bin/bash
function replace() {
find ./ -name "*.[hc]" | xargs grep -P "\b$1\b"# > /dev/null
if [ $? -ne 0 ]
then
find ./ -name "*.[hc]" | xargs grep -P "\b$2\b"# > /dev/null
if [ $? -eq 0 ]
then
echo "Substituted string $2 is existent."
else
find ./ -name "*.[hc]" | xargs sed -i "s/\b$1\b/$2/g"
echo "$1->$2 success."
fi
else
echo "Original string $1 is not existent."
fi
}
if [ $1 == "-f" ]
then
if [ -f $2 ]
then
while read line
do
replace $line
done < $2
else
echo "$2 is not existent."
fi
else
if [ $# -eq 2 ]
then
replace $1 $2
else
echo "Error input!!!"
fi
fi