[Webinar] Streamline your web hosting managementRegister Today

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 271
  • Last Modified:

Appending text to multiple files?

I have a directory of C files(BIG Directory) I want to append (or add) a header (my name...etc)  at the beginning of each file in the directory. The header is big so I put it in a file TEXT. I don't want to go through each file and copy/paste the header. So what script can I use?
0
eradi
Asked:
eradi
1 Solution
 
sgoldgaberCommented:
#!/bin/sh
#
# This script appends a header file ($FILE) to
# the beginning of each file in a directory ($DIR).
#
# There might be lots of output from the echo commands
# it is safe to comment them out or erase them.
#
# PS: If you're going to be doing stuff in UNIX
# learning shell programming is a good investment.
# Its pretty easy too.
#
#####
#
###########
# Configure this stuff:
#
FILE=TEXT
DIR=BIG
#
# End of configurable section
###########

for i in `ls $DIR`
do
echo moving $i to $i.tmp
mv $DIR/$i $DIR/$i.tmp
echo copying $FILE to $i
cp $FILE $DIR/$i
echo appending $i.tmp to $i
cat $DIR/$i.tmp >> $DIR/$i
echo removing $i.tmp
rm $DIR/$i.tmp
done
0
 
ozoCommented:
perl -i -pe 'BEGIN{open H,shift or die $!;$h=join"",<H>} print $h if $.==1; close ARGV if eof;' TEXT big/*.c
0

Featured Post

Get expert help—faster!

Need expert help—fast? Use the Help Bell for personalized assistance getting answers to your important questions.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now