#!/bin/sh # # geticc (version 1.1) # # Usage: geticc # # By: Angel Corbera, TSID1, Refinery Isla, Curacao, N.A. # Comments to: corbera@rocketmail.com # # This script will retrieve ALL Integrated Control Configuration # parameters from ALL CPs/Gateways referenced in /opt/ac/mycps # ----- Be sure nobody else is using ICC at this time! ----- # # The Output file: PLANT.ICC , can be used as the input file # for my script: "icc2rows", to convert it to multi-column style. # # Steps to use the utilities: # - mkdir /opt/ac # - Copy "geticc", "icc2rows", "get_head" utilities to /opt/ac # - If needed, delete undesired CP/GW lbugs from /opt/ac/mycps # - Run "geticc". This will produce: PLANT.ICC # - Run "icc2rows". This will produce: PLANT.TXT # - Run "get_head". It will produce: HEADERS.TXT # - If desired, run "get_fbm. It will produce FBMS.TXT. # - Combine files: cat HEADERS.TXT PLANT.TXT > COMBINED.TXT # - Transfer COMBINED.TXT to a PC. Open it in Excel. # - Create a new column: A. Type AAAA for cells from HEADERS.TXT # Type BBBB for cells from PLANT.TXT. # - Sort now by BLOCKTYPE column, and by the new column A. # - Enjoy it ... # cd /opt/ac if [ ! -s mycps ] then sort /etc/cplns > mycps fi CPS=`cat /opt/ac/mycps` echo "\nAbout to start retrieving Control databases from following CP/GWs:\n$CPS" echo "\nBe sure nobody else is accessing these databases!" echo "(You may edit /opt/ac/mycps to process less CPs)" echo "Do you want to continue (y/n)?" read answer if [ $answer = "n" ] then echo "If desired, edit /opt/ac/mycps now." exit 1 fi cd /opt/fox/ciocfg/api for x in $CPS do echo "\nProcessing $x ..." iccprt -p -o /opt/ac/$x.icc $x echo "$x database has been saved to /opt/ac/$x.icc..." done # echo "\nConsolidating all icc files into one..." cd /opt/ac rm PLANT.ICC > /dev/null 2>&1 touch PLANT.ICC for x in $CPS do # Replace any ! with another symbol (") tr ! "\042" < $x.icc > tmp1 # Replace any @ with another symbol (a) tr @ a < tmp1 > tmp2 # Insert CPname in Cmpd/Blk name sed -e 's/NAME = /NAME = '$x':/' tmp2 > tmp1 # Delete all END lines at the end of each block sed -e 's/^ //' tmp1 | sed -e '/^END$/d' >> PLANT.ICC done rm tmp1 *.icc BLKS=`grep "NAME =" PLANT.ICC |wc -l|awk '{print $1}'` echo "\nFile PLANT.ICC ($BLKS cmpd/blks) is ready to be processed by 'icc2rows' \n"