#!/bin/csh -evx # # rmcode deletes one or more codes from a multicode file # and hopefully leaves the old sequence of records # usage: rmcode "infile" "code1" ... "code n" # the outputfile will be generated by using the inputfiles # name and fill in a .short before the last dot # if (-e ZWZW) rm ZWZW if (-e ZWDA) rm ZWDA set FILE = $1 shift set FILEvorne = $FILE:r set FILEhinten = $FILE:e set PALL = $#argv set count1 = 1 while ( $count1 <= $PALL ) set CODE$count1 = $1 shift @ count1++ end set ALLDATES = `grb showdate $FILE` set ALLCODES = `grb showcode -selfirsttime $FILE` foreach DAT ( $ALLDATES ) grb seldate,$DAT,$DAT $FILE ZWDA # foreach PUI ( $ALLCODES ) grb selcode,$PUI,$PUI ZWDA ZWZW set count1 = 1 set flag = 0 # while ( $count1 <= $PALL ) eval set RCODE = '$'CODE$count1 # if ($PUI != $RCODE) then if ($flag != 2) set flag = 1 else cat >> ${FILEvorne}.${PUI} < ZWZW set flag = 2 endif # @ count1++ end if ( $flag == 1) then cat >> ${FILEvorne}.short.${FILEhinten} < ZWZW endif # end # end rm ZWZW ZWDA exit