=========================FirstUserMenu===========================
1)AddNewRecords
R)GoMainMenuAfterAdd
Q)Quit
===================================================================
EOF2
while:
do
echo
read-n1-p"MainMenu1|Rr|Qq"menu2
echo
case"$menu2"in
1)add_rec
;;
R|r)return
;;
Q|q)exit
;;
#*)echo"Badchoice"
#;;
esac
done
}
#
#
#
search_spe(){
echo
key_word="$2"
echo$key_word
case$1in
name)
cut-d':
'-f1./phone.bak|grep$key_word|grep-f-./phone.bak
;;
number)
cut-d':
'-f5./phone.bak|grep$key_word|grep-f-./phone.bak
;;
qq)
cut-d':
'-f9./phone.bak|grep$key_word|grep-f-./phone.bak
;;
all)
grep$key_word./phone.bak
;;
esac
return0
}
#
#
#
#
search_menu(){
while:
do
echo
echo"=============================SearchMenu============================="
echo"1)SearchByName"
echo"2)SearchByPhoneNumber"
echo"3)SearchByQQ/MSN"
echo"4)SearchInAll"
echo"R)RetrunToMainMenu"
echo"===================================================================="
echo
echo
read-n1-p"SearchMenu1-4|Rr#"sear
if["$sear"="r"-o"$sear"="R"]
then
return
fi
echo
read-p"Enteryourkeyword:
"word
echo
case"$sear"in
1)search_spename$word
;;
2)search_spenumber$word
;;
3)search_speqq$word
;;
4)search_speall$word
;;
R|r)return0
;;
#*)echo"Badchoice"
#;;
esac
done
}
del_rec(){
echo
read-p"EnterThenameyouwantdelete":
dn
["$dn"="qqq"]&&return0
echo
sed-n'/^'"$dn"':
/p'./phone.bak
read-n1-p"Therecordyoutrytodelete...y|n|q"re
echo
if["$re"='y']
then
sed-i'/^'"$dn"':
/d'./phone.bak
elif["$re"='n']
then
del_rec
else
return0
fi
}
del_menu(){
while:
do
echo
echo"=============================DelMenu==============================="
echo"1)DeleteByName"
echo"2)DeleteAllRecord"
echo"R)RetrunToMainMenu"
echo"====================================================================="
echo
echo
read-n1-p"DelMenu1-2|Rr#"del
echo
case"$del"in
1)del_rec
;;
2)read-n1-p"AreYouSurey|n"sure
if["$sure"='y']
then
rm-rf./phone.bak
touch./phone.bak
else
del_menu
fi
;;
R|r)return0
;;
#*)echo"Badchoice"
esac
done
}
mod_rec(){
echo
read-p"EnterThenameyoutrytomodify:
"mod_name
echo
awk'BEGIN{FS=":
";split("name:
num:
nicename:
work:
phone_num:
local_num:
birthday:
e-mail:
qq/msn:
address:
remarks",arry,":
")}
{
if($1=="'$mod_name'")
{
for(i=1;i<=NF;i++)
{
if(i==2)
{
continue
}
printfarry[i]":
"$i"\t\t\tNew"arry[i]":
";
getlinearry_new[i]<"-";
if(arry_new[i]=="")
{
arry_new[i]=$i;
}
if(i==5)
{print"thisis:
"arry_new[5];
if(length(arry_new[5])!
=11||arry_new[5]~/[a-z]/||arry_new[5]~/[[:
punct:
]]/)
{
print"Thenumberiswrongtryagin";
i--;
}
}
if(i==6)
{
if(length(arry_new[6])<7||arry_new[6]~/[a-z]/||arry_new[6]~/[[:
punct:
]]/)
{
print"Thenumberiswrong,tryagin";
i--;
}
}
if(i==7)
{
if(arry_new[7]!
~/^[12][09][0-9][0-9]-[01][0-9]-[123][0-9]$/)
{
print"Thedayiswrong,tryagin"
i--;
}
}
if(i==8)
{
if(arry_new[8]!
~/.+@.+\.com$/)
{
print"TheE-mailiswrong,tryagin"
i--;
}
}
}
arry_new[2]=$2;
print"\n";
system("sleep3");
}
else
{
if(NR==1)
print"Makesurethenameisright.";
else
print"Modifycomplet"
}
}END{for(j=1;j<=11;j++)
{
if(j!
=11)
{
printfarry_new[j]":
">"./.phonebook_awk.bak"
}
if(j==11)
{
printfarry_new[j]"\n">"./.phonebook_awk.bak"
}
}
}'./phone.bak
line_num=`cut-d':
'-f2./.phonebook_awk.bak`
echo"line_numis:
"$line_num
sed-i'/.*:
'"$line_num"':
.*/d'./phone.bak
cat./.phonebook_awk.bak>>./phone.bak
rm./.phonebook_awk.bak-rf
}
#
#
#
bak_mail(){
read-p"E-mail:
"mail_add
if(echo"$mail_add"|grep-E".+@.+\.com")
then
mail-s"phone.bat""$mail_add"<./phone.bak>/dev/null2>&1
return0
else
echo"ThenE-mailiswrong,Nowsendthemailwithdefaultmail_address"
mail-s"phone.bat""395423101@"<./phone.bak>/dev/null2>&1
return0
fi
return0
}
#
#
#
#
main(){
test-f./phone.bak||touch./phone.bak
cp./phone.bak./.phone.bat
test-s./phone.bak||first_menu
cat<=============================MainMenu=============================
1)PrintAllCurrentRecords
2)PrintAllCurrentRecords(formatted)
3)PrintNamesandPhoneNumbers
4)PrintNamesandPhoneNumbers(formatted)
5)SearchforspecificRecord(s)
6)AddNewRecords
7)DeleteRecords
8)ModifyRecords
9)BackuptoMail
R)ReflashScreen
Q)Quit
====================================================================
EOF5
while:
do
echo
read-n1-p"MainMenu0-9|Rr|Qq#"menu
echo
case"$menu"in
1)print_all
;;
2)print_allf
;;
3)print_name
;;
4)print_namef
;;
5)search_menu
;;
6)add_rec
;;
7)del_menu
;;
8)mod_rec
;;
9)bak_mail
;;
Q|q)ex_menu
;;
R|r)clear
main
;;
#*)echo"Badchoice"
#;;
esac
done
rm-rf./.phone.bat
}
passwordaaa(){
if(grep-E"^password$"./phonebook.sh)
then
read-p"Enterserailnumber:
"numb
if["$numb"="1234512345"]
then
sed-i's/^passwordaaa$/#&/'./phonebook.sh
return0
else
passwordaaa
fi
else
return0
fi
}
passwordaaa
main