zoukankan      html  css  js  c++  java
  • linux 英汉词典程序shell+postgresql版

    在linux控制台下工作,有时候遇到不懂的单词,想要找个linux下的词典程序,搜寻无果,只好自己动手写个了。

    首先获取词典文本文件,在github上找到一个
    建立数据库 create database dictdb;
    创建表 create table dict(en text,zh text);
    导入词典文件 copy "dict"("en","zh") from '/tmp/word.txt';

    vi /usr/bin/dict
    #/bin/bash
    dbname=dictdb
    tablename=dict
    while test $# -lt 1;do
    echo "missing parameter"
    exit 1
    done
    su - postgres << !
    /usr/bin/psql -d ${dbname} << EOF
            o | sed  -n '3p' | sed 's/|/
    /;s/;/
    /g;s/ //g;s/(0 rows)/没有查到该单词!/'
            select * from ${tablename} where en='$1';
    EOF
    !
    

    chmod 755 /usr/bin/dict

    psql中,o的官方含义是send all query results to file or |pipe,在这里我将查询结果用管道传递给了sed。
    这个sql语句结果通常有4行(如果query成功的话),第一行是表头(字段名),第二行是分隔符,第三行是查询结果,第四行是统计信息(有多少行)。只有第三行是有用的,所有用sed -n ''3p" 来打印第三行。
    后面的sed语句是为了输出结果更直观一点(分行显示等),可要可不要。

  • 相关阅读:
    配置gulpfile,添加task任务
    requestAnimationFrame初探
    实现图片的预加载和懒加载
    jquery实现复制到粘贴板
    微信H5页面遇到的一些问题
    js实现日历的简单算法
    handlebars.js的运用与整理
    倒计时插件
    div 模拟<select>事件
    Emacs添加主题插件(Win系统)
  • 原文地址:https://www.cnblogs.com/sherlock-merlin/p/9283064.html
Copyright © 2011-2022 走看看