Hi.

I need to write a short script that's looking for a C files in a directory (based on whether it has a semicolon in it and a comment // or /*), check if the file ends with .c and rename it if it doesn't.
I'm pretty much new at this. i wrote this script but it doesn't seem to create the new file with the .c extension.

any input on why would be greatly apreciated.

#!/bin/bash
listOfFiles=`ls $1`
for file in $listOfFiles
do
semi=`grep ";" "$1/$file"`
slash=`grep "//" "$1/$file"`
if [ "$semi" != "" ]
then
if [ "$slash" != "" ]
then
extension=`echo $file | grep ".c$|.h$"`
if [ "extension" == "" ]
then
mv $1/$file $1/$file.c
fi
fi
fi
done

try:

#
find $1 -type f -exec grep -l -e '/*' -e '//' {} \; |
while read file 
do
           grep -q ';' $file
           if [[ $? -ne 0 ]] ; then
	   echo $file | grep -q -e '\.c$' -e '\.h$'
	   if [[ $? -ne 0 ]] ; then
	          mv $file  "$file".c
	   fi   
           fi 
done
Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.