CVS-RCS(6)(转)

CVS-RCS(6)(转)[@more@]

4.6 slist

注意 : Korn shell /bin/ksh 在你从Linux CD-ROM 安装 pdksh*.rpm 时就会产

请把他存成一般文字档并改变存取权限 chmod a+rx

_________________________________________________________________

#!/bin/ksh

# CVS program slist

# Program to list all edited source files from CVS

#cmdname=`basename $0`

#echo "no of params : " $#

#echo "all args : " $@

recurse_flag=""

if [ "$1" = "" ]; then

dir=.

recurse_flag=""

else

dir=$@

recurse_flag=" -prune "

fi

FOUT=slist_temporary_file.out

m -f $FOUT

find $dir $recurse_flag -type f -exec ls -ltr {} ;

| grep -v "/CVS/"

| grep ^-rw

| grep -v .o

| grep -v .log

| grep -v .out

| grep -v .pid

| awk '{ if ($NF != "tags") print $0 }'

| awk '{ if ($NF != "a.out") print $0 }'

| awk '{ if ($NF != "core") print $0 }'

| awk '{ print $NF }' > $FOUT

aa=`cat $FOUT`

m -f $FOUT

for ii in $aa ; do

ftype=" "

ftype=`file $ii | awk '{print $2 }' `

# find . -type f -exec file {} ;

# 1)ELF 2)commands 3)[nt]roff, 4)c 5)English 6)executable

# 7)ascii 8)current 9)empty

# Binaries are ELF, lib.a are current

#

if [ "$ftype" = "ascii" -o "$ftype" = "commands"

-o "$ftype" = "[nt]roff," -o "$ftype" = "c" -o "$ftype" = "data

"

-o "$ftype" = "English" -o "$ftype" = "executable" ]; then

pcfile=` echo $ii | cut -d'.' -f1`

pcfile=${pcfile}".pc"

if [ ! -f $pcfile ]; then

ls -l $ii

else

if [ "$ii" = "$pcfile" ]; then

ls -l $ii

fi

fi

fi

done;

#| grep -v ^-rwx

#ls -l | grep ^-rw | grep -v .o

#ls -l | grep ^-rw | grep -v .o | awk '{ if ($NF != "tags") print $0 }'

#ls -l | grep ^-rw | grep -v ^-rwx | grep -v .o | awk '{ if ($NF != "tags"

) print $0 }' | awk '{ if ($NF != "core") print $0 }'

#print " Done $cmdname. $cmdname successful"

#print " Tip (Usage): $cmdname "

_________________________________________________________________

4.7 sinfo

注意 : Korn shell /bin/ksh 在你从Linux CD-ROM 安装 pdksh*.rpm 时就会产

请把他存成一般文字档并改变存取权限 chmod a+rx

_________________________________________________________________

#!/bin/ksh

# CVS program sinfo

# Program to get the status of files in working directory

cmdname=`basename $0`

if [ $# -lt 1 ]; then

print " Usage: $cmdname [file/directory name] "

print "For example - "

print " $cmdname foo.cpp"

print " $cmdname some_directory "

print " "

exit

fi

hme=` echo $HOME | cut -f1 -d' ' `

if [ "$hme" = "" ]; then

print " Error: $HOME is not set!! "

exit

fi

tmpfile=$hme/cvs_sinfo.tmp

rm -f $tmpfile

cur_dir=`pwd`

#echo $cur_dir

len=${#hme}

len=$(($len + 2))

#echo $len

subdir=` echo $cur_dir | cut -b $len-2000 `

#echo $subdir

if [ "$subdir" = "" ]; then

fdname=$1

else

fdname=$subdir"/"$1

fi

# Create subshell

if [ -f $1 ]; then

(

cd $hme

clear

cvs status $fdname

)

elif [ -d $1 ]; then

(

cd $hme

clear

echo " " >> $tmpfile

echo " ****************************************" >> $tmpfile

echo " Overall Status of Directory" >> $tmpfile

echo " ****************************************" >> $tmpfile

cvs release $fdname 1>>$tmpfile 2>>$tmpfile << EOF

Y

EOF

echo " ------------------------------- " >> $tmpfile

aa=`cat $tmpfile | grep ^"M " | awk '{print $2}' `

for ii in $aa

do

jj="(cd $hme; cvs status $subdir/$ii );"

echo $jj | /bin/sh

| grep -v Sticky | awk '{if (NF != 0) print $0}'

1>>$tmpfile 2>>$tmpfile

done

cat $tmpfile | grep -v ^? | grep -v "Are you sure you want to release"

| less

rm -f $tmpfile

)

else

print " Argument $1 if not a file or directory"

exit

fi

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8225414/viewspace-945079/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/8225414/viewspace-945079/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值