📄 featurereport.sh
字号:
#!/bin/ksh## SAMPLE NAME: featureReport## FUNCTIONS: This sample shell script generates a global feature report# showing tracks, tests, sizes, approvals and fixes.## The report contains 132 columns of data and should be piped# to an output file for subsequent printing.## USAGE: featureReport## ENVIRONMENT# VARIABLE(S): CMVC_FAMILY [CMVC_BECOME]## ORIGINS: 27## 5765-039 (C) COPYRIGHT International Business Machines Corp. 1991,1993# 5765-207 (C) COPYRIGHT International Business Machines Corp. 1993# 5765-202 (C) COPYRIGHT International Business Machines Corp. 1993# 5622-063 (C) COPYRIGHT International Business Machines Corp. 1993# 5765-069 (C) COPYRIGHT International Business Machines Corp. 1991,1993# All Rights Reserved# Licensed Materials - Property of IBM## US Government Users Restricted Rights - Use, duplication or# disclosure restricted by GSA ADP Schedule Contract with IBM Corp.### NOTICE TO USERS OF THE SOURCE CODE EXAMPLES## INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THE SOURCE CODE# EXAMPLES, BOTH INDIVIDUALLY AND AS ONE OR MORE GROUPS, "AS IS" WITHOUT# WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT# LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A# PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE# OF THE SOURCE CODE EXAMPLES, BOTH INDIVIDUALLY AND AS ONE OR MORE GROUPS,# IS WITH YOU. SHOULD ANY PART OF THE SOURCE CODE EXAMPLES PROVE# DEFECTIVE, YOU (AND NOT IBM OR AN AUTHORIZED RISC System/6000* WORKSTATION# DEALER) ASSUME THE ENTIRE COST OF ALL NECESSARY SERVICING, REPAIR OR# CORRECTION.## * RISC System/6000 is a trademark of International Business Machines# Corporation.## /usr/lpp/cmvc/samples/featureReportif [ -z "$CMVC_FAMILY" ]then echo "The CMVC family must be set with the CMVC_FAMILY environment variable." exit 1fi## Clean up on interrupt#trap "[ -r /tmp/tra$$ ] && rm -f /tmp/tra$$[ -r /tmp/tst$$ ] && rm -f /tmp/tst$$[ -r /tmp/rpt$$ ] && rm -f /tmp/rpt$$[ -r /tmp/fix$$ ] && rm -f /tmp/fix$$exit" 1 2 3 15###echo "Detailed Feature Report \n"#echo "\npre name compName state origin owner age abstract"#echo "--- ------ --------------- -------- -------- -------- --- --------------------------------------------------------------------------"##Report -vi FeatureView -w "state not in ('closed','canceled')" -ra |\sort -t'|' -o /tmp/rpt$$ +1 -2 -nif [[ -s /tmp/rpt$$ ]]thenecho "Detailed Feature Report \n"echo "\npre name compName state origin owner age abstract"echo "--- --------------- --------------- -------- -------- -------- --- -----------------------------------------------------------------"fiwhile read linedo echo $line | awk -F'|' '{printf\ "%3.3s %-15.15s %-15.15s %-8.8s %-8.8s %-8.8s %-3.3s %-65.65s\n",\ $1,$2,$3,$6,$17,$4,$8,$7}' STATE=`echo $line | cut -f6 -d'|' ` if [ $STATE = 'size' ] then NUM=`echo $line | cut -f2 -d'|' ` Report -vi SizeView -w "featureName='$NUM'" -ra | \ awk -F'|' '{printf \ "\n\t\t< %8.8s: state = %-9.9s %11.11s = %-15.15s %7.7s = %-8.8s >\n\n","Size",$7,"component",$3,"owner",$9 }' >/tmp/sz$$ if [[ -s /tmp/sz$$ ]] then cat /tmp/sz$$ fi [ -r /tmp/sz$$ ] && rm -f /tmp/sz$$ fi if [ $STATE = 'working' ] then NUM=`echo $line | cut -f2 -d'|' ` Report -vi TrackView -w "defectName='$NUM' and \ state<>'complete'" -ra > /tmp/tra$$ while read trackline do RELEASE=`echo $trackline | cut -f1 -d'|' ` TRACKSTATE=`echo $trackline | cut -f4 -d'|' ` echo $trackline | awk -F'|' '{printf \ "\n\t\t< %8.8s: state = %-9.9s %11.11s = %-15.15s >\n\n","Track",$4,"release",$1 }' >/tmp/trx$$ Report -vi ApprovalView -w "defectName='$NUM' and \ releaseName='$RELEASE'" -ra | awk -F'|' '{printf \ "\t\t\t< %8.8s: state = %-9.9s %11.11s = %-15.15s %7.7s = %-15.15s >\n","Approval",$7,"release",$3,"owner",$4 }' > /tmp/apr$$ Report -vi TestView -w "defectName='$NUM' and releaseName='$RELEASE' and \ state not in ('notReady')" -ra | awk -F'|' '{printf \ "\t\t\t< %8.8s: state = %-9.9s %11.11s = %-15.15s %7.7s = %-15.15s >\n","Test",$5,"environment",$4,"owner",$8 }' >/tmp/tst$$ Report -vi FixView -w "defectName='$NUM' and releaseName='$RELEASE' and \ state not in ('notReady')" -ra | awk -F'|' '{printf \ "\t\t\t< %8.8s: state = %-9.9s %11.11s = %-15.15s %7.7s = %-15.15s >\n","Fix",$4,"component",$3,"release",$2 }' >/tmp/fix$$ [ -s /tmp/tra$$ ] && cat /tmp/trx$$ [ -s /tmp/apr$$ ] && cat /tmp/apr$$ [ -s /tmp/fix$$ ] && cat /tmp/fix$$ [ -s /tmp/tst$$ ] && cat /tmp/tst$$ echo "\n" done < /tmp/tra$$ [ -r /tmp/tra$$ ] && rm -f /tmp/tra$$ [ -r /tmp/trx$$ ] && rm -f /tmp/trx$$ [ -r /tmp/apr$$ ] && rm -f /tmp/apr$$ [ -r /tmp/fix$$ ] && rm -f /tmp/fix$$ [ -r /tmp/tst$$ ] && rm -f /tmp/tst$$ fidone < /tmp/rpt$$[ -r /tmp/rpt$$ ] && rm -f /tmp/rpt$$
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -