网上下载了一个英语词根和英语单词文件,包含导入到数据库的sql语句:
english-root.sql
和english_word.sql
,于是写个脚本辅助背单词。
脚本
脚本逻辑:通过随机数获得词根编号,取得词根,过滤出其中的词根字符,并从数据库中提取以这些词根字符开头的单词。
脚本操作:接收一个传入参数,指定一次从数据库中提取单词的最大值,缺省值20; 按回车,随机下一个词根,提取单词了;按a,显示上一个词根及单词。
#!/bin/bash
num=${1:-20}
p_word()
{
clear
echo -e "Today is the \033[1m\033[4m`date +%u`\033[0m day of week, the \033[1m\033[4m`date +%V`\033[0m week and \033[1m\033[4m`date +%j`\033[0m day of this year. "
tput cup 2 0
echo -e "Current Time: \033[36m\033[1m`date +%T`\033[0m"
echo
echo -e "\e[42m => $word_root \e[0m"
pre=`echo $word_root | sed 's/[一-龥]//g' | tr -d ','`
pre_len=`echo $pre | awk -F '[,=]' '{print NF}'`
[ 1 -le $pre_len ] && {
pre_=`echo "$pre" | awk -F '[,=]' '{print $1}'`
echo "- $pre_"
mysql -e "select word,explains from english.eng_words where word like '${pre_}%' limit $num;"
}
[ 2 -le $pre_len ] && {
pre_=`echo "$pre" | awk -F '[,=]' '{print $2}'`
echo "- $pre_"
mysql -e "select word,explains from english.eng_words where word like '${pre_}%' limit $num;"
}
[ 3 -le $pre_len ] && {
pre_=`echo "$pre" | awk -F '[,=]' '{print $3}'`
echo "- $pre_"
mysql -e "select word,explains from english.eng_words where word like '${pre_}%' limit $num;"
}
[ 4 -le $pre_len ] && {
pre_=`echo "$pre" | awk -F '[,=]' '{print $4}'`
echo "- $pre_"
mysql -e "select word,explains from english.eng_words where word like '${pre_}%' limit $num;"
}
tput civis # 光标不可见
sleep 1 # 等待1秒
}
random_number=$(( RANDOM % 252 + 1 ))
word_root=`mysql -e "select root from english.eng_root where id=$random_number;" |tail -1 `
p_word
while : ; do
read -n 1 input
if [[ $input == "" ]]; then
lw=$word_root
random_number=$(( RANDOM % 252 + 1 ))
word_root=`mysql -e "select root from english.eng_root where id=$random_number;" |tail -1 `
p_word
elif [[ $input =~ "a" ]] ; then
word_root=$lw
p_word
fi
done
标签:pre,Shell,word,english,echo,Linux,033,root,背单词
From: https://www.cnblogs.com/dewan/p/17923072.html