📄 extractallfilesforcomponent
字号:
#!/usr/bin/ksh## SAMPLE NAME: extractAllFilesForComponent## FUNCTIONS: This sample shell script extracts all the files # associated with a specific component and places them in # the path specified by the relativePathName parameter.# If a file belongs to several releases, one version is# extracted for each release, under a subdirectory that is# named after the release.# The versions of the files can be current (default) or committed.## USAGE: # extractAllFilesForComponent componentName relativePathName [current|committed]# *******# ENVIRONMENT VARIABLE(S): CMVC_FAMILY [CMVC_BECOME]## 5765-207 (C) COPYRIGHT International Business Machines Corp. 1993,1998# 5765-202 (C) COPYRIGHT International Business Machines Corp. 1993,1998# 5622-063 (C) COPYRIGHT International Business Machines Corp. 1993,1998# 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/extractAllFilesForComponent## Validation of input parameters and environment variables.if [ $# -eq 0 ]then print "usage: $0 componentName relativePathName [committed]" print "This sample shell script extracts all the files associated" print "with a specific component and places them in the path specified" print "by the relativePathName parameter." print "If a file belongs to several releases, one version is extracted for" print "each release, under a subdirectory that is named after the release." print "By default, the current version is extracted, unless" print "the committed parameter is specified." exit 1fiif [ -z "$CMVC_FAMILY" ]then print "The CMVC family must be set with the CMVC_FAMILY environment variable." exit 1fi#if [ $# -gt 3 ]then print "Provide a componentName and a relativePathName" print "as input parameters.\n" exit 1ficomponentName=$1relative=$2if [ $# -eq 3 ]then desiredVersion=$3 if [ "$desiredVersion" = "committed" ] || [ "$desiredVersion" = "current" ] then print "" # no-op else print "The desired version should be either current (default) or committed" exit 1 fielse desiredVersion="current"fiprint "Multiple copies of a file may exist within a component with each"print "version of the file being owned by a separate release."print "As a result, a directory will be created for each release and the"print "files will be copied into their respective directories relative to"print "the relativePathName parameter that you have supplied."RELEASENAME=PATHNAME=SAVEPATHNAME=# Find out the committed files in a component and extract themReport -view FileView -where "compName='$componentName' and dropDate is null order by pathName" -raw > /tmp/cv$$while read linedo RELEASENAME=`echo $line | cut -d'|' -f2 ` PATHNAME=`echo $line | cut -d'|' -f8 ` if [ "$desiredVersion" = "committed" ] then VERSION=`echo $line | cut -d'|' -f4 ` print "Extracting file: $PATHNAME committed version $VERSION release $RELEASENAME" else VERSION=`echo $line | cut -d'|' -f9 ` print "Extracting file: $PATHNAME current version $VERSION release $RELEASENAME" fi File -extract "$PATHNAME" -relative $relative/$RELEASENAME -release $RELEASENAME -version $VERSIONdone </tmp/cv$$# Cleanup the temporary file[ -r /tmp/cv$$ ] && rm -f /tmp/cv$$print "The extraction of the files is done!"exit 0### end of file ###
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -