#! /bin/csh # lmkheaders - Shell script to automatically generate header files for # mooring deployments. Templates are parsed for field tags, which are # replaced by this script. # Mooring name, deployment date and one or more instrument names are required parameters: # e.g., lmkheaders M1 '12 April, 2001 fluor ctd hdas ' # The instrument names should correspond to the .hdt file names set nonomatch set outDir = /oasis/cfg/template set templateDir = /oasis/cfg/template set srcDir = /oasis/src cd $templateDir if ($#argv > 0) then if ($argv[1] == "h" || $argv[1] == "H") then ls *.hdt|sed -e "s/\(.*\).hdt/\1/" exit endif endif if ($#argv < 3) then echo "\nUsage: $0 <'deployment date'> [...]>" echo " $0 [h|H] lists .hdt files\n" exit endif echo Creating Headers for $1, $2 if ($argv[3] == "all") then foreach file (`ls *.hdt`) set base = `ls $file|sed -e "s/\(.*\).hdt/\1/"` echo "Instrument Description for $base" set iname = ($<) cat $templateDir/$base.hdt|sed -e "s//$1/" >& $outDir/$base.hdr cat $outDir/$base.hdr|sed -e "s//$2/" >& $outDir/$base.hdr cat $outDir/$base.hdr|sed -e "s//$iname/" >& $outDir/$base.hdr echo " $base set to $iname\n" end else #initialize @ i = (3) set iname="" while ($#argv >= $i) set file = $argv[$i] echo "Instrument Description for $argv[$i]" set iname = ($<) cat $templateDir/$file.hdt|sed -e "s//$1/" >& $outDir/$file.hdr cat $outDir/$file.hdr|sed -e "s//$2/" >& $outDir/$file.hdr cat $outDir/$file.hdr|sed -e "s//$iname/" >& $outDir/$file.hdr echo " $argv[$i] set to $iname\n" @ i++ endif echo Processing Complete