insparnum

来自「一套客户/服务器模式的备份系统代码,跨平台,支持linux,AIX, IRIX,」· 代码 · 共 81 行

TXT
81
字号
#!/bin/sh## $RCSfile: insparnum,v $#filename="$3"startnum="$1"endnum="$2"usage(){  echo `basename $1` '<start-number> <end-number> <filename>'  exit 2}if [ $# -ne 3 ] ; then  usage $0fiecho "$startnum"|grep '^[1-9][0-9]*$' >/dev/nullEST1=$?echo "$endnum"|grep '^[1-9][0-9]*$' >/dev/nullif [ $? -ne 0 -o $EST1 -ne 0 ] ; then  echo "Error: Argument 1 and 2 must be numbers" >&2  usage $0fiif [ $startnum -ge $endnum ] ; then  echo "Error: Argument 1 must be a smaller number than argument 2" >&2  usage $0fiif [ ! -r "$filename" ] ; then  echo "Error: File $filename must be readable" >&2  exit 3fihead -1 "$filename" | egrep '/bin/(wi|tcl)sh' >/dev/nullif [ $? -eq 0 ] ; then  STARTCHRS="("  ENDCHRS=")"else  STARTCHRS="__"  ENDCHRS=""fiTMPFILE=/tmp/modscipt.$$TMPFILE2="$TMPFILE".2/bin/rm -f $TMPFILE $TMPFILE2if [ -f $TMPFILE -o -f $TMPFILE2 ] ; then  echo "Error: Cannot remove file $TMPFILE" >&2  exit 4ficp "$filename" $TMPFILEif [ $? -ne 0 ] ; then  echo "Error: cannot copy file $filename" >&2  /bin/rm -f $TMPFILE $TMPFILE2  exit 5fiI=$endnumwhile [ $I -ge $startnum ] ; do  I_1=`expr $I + 1`  sed s/"$STARTCHRS$I$ENDCHRS/$STARTCHRS$I_1$ENDCHRS"/g $TMPFILE > $TMPFILE2  if [ $? -ne 0 ] ; then    echo "Error occured during rewrite of $TMPFILE." >&2    /bin/rm -f $TMPFILE $TMPFILE2    exit 6  fi  /bin/mv $TMPFILE2 $TMPFILE  if [ $? -ne 0 ] ; then    echo "Error occured during rename of $TMPFILE2 to $TMPFILE." >&2    /bin/rm -f $TMPFILE $TMPFILE2    exit 7  fi  I=`expr $I - 1`donecat $TMPFILE/bin/rm -f $TMPFILE $TMPFILE2

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?