小鹤双拼官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 192|回复: 0

[教程] 几行 Shell 代码实现一个简易的小鹤音形练习工具

[复制链接]
发表于 2020-2-10 17:54:05 | 显示全部楼层 |阅读模式
本帖最后由 ivlioioilvi 于 2020-2-10 18:06 编辑

在 Android、iOS 上有微信小程序能练习小鹤音形打字,在 Windows 上似乎也有练习工具 (存疑)
但在 Linux 和 macOS 上就没有练习工具了,就很烦。

然后我用几行 Shell 代码实现了一个简易的练习工具,如下图所示。


下载 练习.shzi.txt 这两个文件,放在同一个目录下。
然后在这个目录打开终端 (Terminal) 并执行下面的命令即可 (如果不想练习了按 Ctrl + C 键终止即可)。
百度云:https://pan.baidu.com/s/17HDkQ-kftFTUPFfXyORfUw
  1. bash 练习.sh zi.txt
复制代码


其中字表 (zi.txt) 来源于 字根拆分例字。


代码如下:
  1. #!/bin/bash

  2. #
  3. # 简易的小鹤音形练习工具
  4. #

  5. # 定义颜色
  6. GREEN='\033[32m'
  7. RED='\033[31m'
  8. RESET='\033[0m'

  9. # 开始循环
  10. while true;
  11. do
  12.     # 获取随机数用作行号
  13.         GET_LINE_NUM=`echo $[$RANDOM%1000]`

  14.     # 获取该行的字与码
  15.         ZI=$(sed -n "$GET_LINE_NUM p" "$1" | awk -F '    ' ' { print $1} ')
  16.         MA=$(sed -n "$GET_LINE_NUM p" "$1" | awk -F '    ' ' { print $2} ')

  17.     # 获取用户输入
  18.         echo -e "\n$GREEN=>$RESET 请输入 $RED"$ZI"$RESET 字的音形码, 并以 Enter 键提交."
  19.         echo -e "      (提示: $red$MA$reset)"
  20.         read -r GET_INPUT

  21.     # 判断用户输入是否正确
  22.         while [[ "$GET_INPUT" != "$MA" ]];
  23.         do
  24.                 echo -e "      (提示: 输入错误, 请重新输入)"
  25.                  read -r GET_INPUT
  26.          done
  27. done
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|小鹤双拼

GMT+8, 2020-4-5 01:39 , Processed in 0.140980 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表