script help plz


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting script help plz
# 1  
Old 03-03-2008
script help plz

Hi, im trying to make a script which will look up every .c file in the current directory for the strings printf or fprintf. if found, the script adds the statement #include <stdio.h> at the beginning of the file but only if it doesnt alrdy have it included. How do i do that ?i know firstly, i need to do
grep -e "printf" -e "fprintf" *.c . then i dont know if i need to grep #include <stdio.h> or sed . plz help me . thx in advance.
# 2  
Old 03-03-2008
Code:
check whether printf or fprintf is there or not in the file
if there 
  check if #include header file is there or not
  if there
    leave it
  if not there
    add the needed lines
if not there
  skip to next file and proceed from that

# 3  
Old 03-03-2008
how do i add #include <stdio.h> to the file by using sed ?
do i use sed to add this line to the screen and send the output to a file ,then move the file to the .c file? plz help
# 4  
Old 03-03-2008
Either way is possible

redirecting the modified output to a file and then renaming
Code:
sed '1i\
text to insert' < input_file > tmp
mv tmp input_file

or doing an in-place edit with -i option
Code:
sed -i '1i\
text to insert' < input_file

# 5  
Old 03-03-2008
Quote:
Originally Posted by lohan
how do i add #include <stdio.h> to the file by using sed ?
do i use sed to add this line to the screen and send the output to a file ,then move the file to the .c file? plz help
Do something like

Code:
first=$(grep -m 1 "#include" test.c)
sed -e "s/$first/&\n#include <stdio.h>/" test.c

If you have the -i flag available for sed, use that. Else redirect to another file and then rename it.
# 6  
Old 03-03-2008
#!/bin/bash
grep -e "printf" -e "fprintf" *.c;
if[ $? = "0" ]; then
grep -e "#include <stdio.h>";
if [ $? = "0" ];then
sed 'li\#include <stdio.h>' < *.c > temp;
mv temp *.c;
fi
fi

it says syntax error , i dont know how to fix it, plz help
and does *.c in sed mean that all file with .c or they are .c file with printf or fprint but #include?
# 7  
Old 03-03-2008
search for example posts posted here.

You are checking for all the files in one shot.

Make the check for one file at a time. Use looping for the list of files

Quote:
grep -e "#include <stdio.h>"
input stream to be specified for grep
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to do this Script PLZ?

HI all , i want to make an automatic script using if / while to search for files in folder and get the least by date and gzip them ( last 70 file ) /file/home/logs 30 files in 11/2012 45 files in 10/2012 30 files in 9/2012 10 files in 8/2012 so it get 10 + 30 + 30 ( from 10 )... (5 Replies)
Discussion started by: teefa
5 Replies

2. Shell Programming and Scripting

Need Script plz help

hi please help i need script to merger columns input file a,bb,1234345234 a,bb,sdfsdfsdf a,bb,xxxxxxxx b,cc,12335353 b,cc,fdgfdghht b,cc,yyyyyyy c,22,sdfgsdfg . . . . output file a,bb,1234345234a,bb,sdfsdfsdfa,bb,xxxxxxxx (10 Replies)
Discussion started by: ragu.selvaraj
10 Replies

3. Shell Programming and Scripting

i'm new to shell can handle this script for me plz

Write a shell script named displayargs that prints FOUR lines. The first line tells the name that was used to invoke the script, the second line tells how many parameters there were, the third line tells what the last parameter was, and the fourth line tells what the first parameter was. For... (8 Replies)
Discussion started by: kedah160
8 Replies

4. Shell Programming and Scripting

Explain this AWK script plz

Hi frnds, one my frnds has given resolution for my problem as below. it working great , but i couldnt understand somethings in the script. Why ++ operator after the function calling. how these each block working. will each run for each input line sequencially or one block for all the lines... (9 Replies)
Discussion started by: Gopal_Engg
9 Replies

5. UNIX for Dummies Questions & Answers

Shell Script Help Plz

####################################################################### # #This script will perform the menu such as : list file, change catalog, #file check, # #This script was written in UNIX Shell Programming Language #... (3 Replies)
Discussion started by: shekhani
3 Replies

6. UNIX for Advanced & Expert Users

Script Not waiting....plz help

Hi All: I am trying to call a multi-step script from a script. here is the code #!/usr/bin/ksh util.sh <<EOF connect dump EOF I am able to run the script but it is disconnecting before the dump job is finished. The script util.sh does not provide any functionality to wait... (9 Replies)
Discussion started by: laxman123
9 Replies

7. Solaris

plz help me in writing a script

Hi all, I want to write a script which gather all files who where having a particular name.The script should run at the end of each month. The files(Audit and health files) are generated each day. I want to gather the files seperately into corresponding folders and so that i can ftp'ed... (3 Replies)
Discussion started by: Renjesh
3 Replies

8. UNIX for Dummies Questions & Answers

unix script plz help

cdfcxvvbbvnbjmjnhjml. (1 Reply)
Discussion started by: sree11
1 Replies

9. Shell Programming and Scripting

Nee help debugging script..plz

I am having problems w/this script. Menu is not comming up to prompt me. I've worked on it for days and still cannot see the problem. Anyone can help, I would appreciate it. Possible problems with syntax and function calls. Thks... TMP=$tapemgr/rpts/tmp # TAPE MANAGER MAIN MENU while : do... (8 Replies)
Discussion started by: gzs553
8 Replies

10. UNIX for Dummies Questions & Answers

plz Help How should I configure cc compiler output file plz help???

i.e configuration of C compiler :confused: (4 Replies)
Discussion started by: atiato
4 Replies
Login or Register to Ask a Question