Shell编程基础教程
二、文件格式转换
功能:实现由申请卡文件向领卡文件的转换。
1、 请卡(文件名:FS_×××××××_××××,7位为局号,4位为企业代码)
帐号 拼音户名 汉字户名 身份证种类 身份证号码 校验位 RC
1—9 10—38 39—60 61—62 63—80 81
9(J) 29(L) 22(L) 2(J) 18(R) 1(J)
2、 领卡 (文件名:FL_×××××××_××××,7位为局号,4位为企业代码)
帐号 证件种类 证件号码 校验位 RC
1—9 10—11 12—29 30
9(J) 2(J) 18(R) 1(J)
程序内容如下:
FILEPATH=/usr/centerwd/data/sysin
FILE_NAME=$FILEPATH/FS_[0-9][0-9][0-9][0-9][0-9][0-9][0-9]_ [0-9][0-9][0-9][0-9]
MAIN(){
Ls $FILE_NAME>/dev/null 2>&1
If [ $? !=0 ]
Then
ERR_MSG 1
Exit 1
Fi
Echo “正在生成领卡文件,请稍候. . .\n”
Sleep 3
For FILE in `ls $FILE_NAME`
Do
FILE1=`basename $FILE`
JUHAO=`echo $FILE1|cut –d_ -f2`
QIYE=`echo $FILE1|cut –d_ -f3`
FILE_NAME1=$FILEPATH/FL_${JUHAO}_${QIYE}
Rm –f $FILE_NAME1
Echo $FILE_NAME1
If [ -s $FILE ]
Then
Awk ‘{zh=substr($0,1,9)
Zjzl=substr($0,61,2)
Zjhm=substr($0,63,18)
Printf(“%s%s%-s0\n”,zh,zjzl,zjhm)>>FILE2
}’ FILE2=”$FILE_NAME1” $FILE
fi
chown centerwd:group $FILE_NAME1
done
echo “\n生成领卡文件结束\c”
ERR_MSG 2
}
ERR_MSG(){
Case “$1” in
1) echo “没有要处理的文件!”;;
2) echo “按回车键返回\c”
read pause;;
esac
}
MAIN
Exit
三、用Shell程序生成一个简单的菜单。
程序示例如下:
while true
do
clear
echo
echo
echo “ 储蓄网点管理终端“
echo
echo “ 1、代收付数据处理“
echo “ 2、带发工资转储蓄处理“
echo “ 3、加办代收付号码“
echo “ 4、代扣月租费处理“
echo
echo “ 00、退出“
echo
echo “ 请选择:\c”
read choo
case $choo in
1) 处理1;;
2) 处理2;;
3) 处理3;;
4) 处理4;;
00) exit;;
*) echo “输入数据错误!“
echo “按回车键返回\c”
read g
;;
esac
done


















我在努力看 shell编程第三版,好厚的一本书….
[回复]