ITPub博客

首页 > 应用开发 > IT综合 > 地址本的脚本(转)

地址本的脚本(转)

原创 IT综合 作者:post0 时间:2007-08-11 12:07:22 0 删除 编辑
地址本的脚本(转)[@more@]

一个地址本的脚本,可供学shell的人参考

-------------addr.sh------------

#!/bin/bash

clear

. /etc/rc.d/init.d/functions

arg_count=$#

if [ $arg_count -eq 0 ]; then

FILENAME=/tmp/addr

elif [ $arg_count -eq 1 ]; then

FILENAME=$1

else

echo -e $"07Usage: $0 filename"

exit 1

fi

add(){

echo

echo -e " N A M E :c"

read name

echo

echo -e " P O S I T I O N :c"

read position

echo

echo -e " T E L E P H O N E :c"

read telephone

echo

echo -e " E _ M A L E :c"

read email

echo -e "$name $position $telephone $email" >> $FILENAME

echo

echo -e " Do you wish to proceed?[y/n]:c"

read proceed

echo

case $proceed in

y|Y|yes|Yes|YES)

add

;;

n|N|No|NO)

clear

main

;;

*)

echo -e " Please input y|Y|yes|Yes|YES or n|N|No|NO"

exit 1

esac

}

proceed(){

case $1 in

y|Y|yes|Yes|YES)

$2 $3 $4 $FILENAME > $FILENAME.tmp

mv $FILENAME.tmp $FILENAME

echo

echo -e " Line Deleted!"

;;

n|N|No|NO)

echo

;;

*)

echo -e " Please input y|Y|yes|Yes|YES or n|N|No|NO"

echo

esac

}

del(){

clear

echo

echo -e " ------------------------------------"

echo -e " | 1. Del record by Line |"

echo -e " | 2. Del record by Name |"

echo -e " | 3. Del record by Tel |"

echo -e " | 4. Show all record |"

echo -e " | 5. Exit |"

echo -e " ------------------------------------"

echo

echo -e " Your selection:c"

read selection

echo

case $selection in

1)

echo -e " Input Start_Line_Number:c"

read line1

echo

echo -e " Input End_Line_Number:c"

read line2

echo

echo -e " Line$line1 to Line$line2 are:"

echo

echo -e " 姓 名 职 位 电 话 电子邮件"

echo

sed -n ''$line1','$line2'p' $FILENAME |cat -n

echo

echo -e " Delete really?[y/n]:c"

read proceed

proceed $proceed sed ''$line1','$line2'd'

;;

2)

echo -e " Input Name:c"

read name

echo

echo -e " record include $name are:"

echo

echo -e " 姓 名 职 位 电 话 电子邮件"

echo

grep -w ^$name $FILENAME |cat -n

echo

echo -e " Delete really?[y/n]:c"

read proceed

proceed $proceed grep -vw ^$name

;;

3)

echo -e " Input Telephone:c"

read telephone

echo

echo -e " record include $telephone are:"

echo

echo -e " 姓 名 职 位 电 话 电子邮件"

echo

grep -w $telephone $FILENAME |cat -n

echo

echo -e " Delete really?[y/n]:c"

read proceed

proceed $proceed grep -vw $telephone

;;

4)

echo

show

;;

5)

echo

main

;;

*)

clear

del

esac

echo

echo -e " Do you wish to proceed?[y/n]:c"

read proceed

echo

case $proceed in

y|Y|yes|Yes|YES)

clear

del

;;

n|N|No|NO)

echo

main

;;

*)

echo -e " Please input y|Y|yes|Yes|YES or n|N|No|NO"

echo

exit 1

esac

}

show(){

echo

echo -e " 姓 名 职 位 电 话 电子邮件"

echo

cat -n $FILENAME

echo

echo -e " Do you wish to proceed?[y/n]:c"

read proceed

echo

case $proceed in

y|Y|yes|Yes|YES)

main

;;

n|N|No|NO)

echo

exit 1

;;

*)

echo -e " Please input y|Y|yes|Yes|YES or n|N|No|NO"

echo

exit 1

esac

}

main(){

clear

echo

echo -e " --------------------------------"

echo -e " | 1. Add record |"

echo -e " | 2. Del record |"

echo -e " | 3. Show record |"

echo -e " | 4. Exit |"

echo -e " --------------------------------"

echo

echo -e " Your selection:c"

read selection

echo

case $selection in

1)

add

;;

2)

del

;;

3)

show

;;

4)

exit 1

;;

*)

main

esac

}

main

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

请登录后发表评论 登录
全部评论
  • 博文量
    2018
  • 访问量
    8226482