linux

Linuxコマンドラインでfortuneを日本語翻訳してcowsayに日本語を喋らせる

投稿日:2019年8月30日

緊張感が漂うことも多々あるIT開発現場、逼迫した状況が続く際は一服の潤いも必要です。
以前、Linuxログインした時にcowsayにfotuneを喋らせる伝統芸能で嗜みました。

日本語で喋ってくれればより和むんじゃないか、と思って遊んでみました。結果、面白訳に遭遇するとそこそこ和めます。

自然言語を翻訳するLinuxコマンド「Translate Shell」を入れる

引数で渡した日本語の自然文をgoogle翻訳に掛けてくれるコマンド。

インストール

公式に従ってgithubからcloneしてきます。

$ git clone https://github.com/soimort/translate-shell
Cloning into 'translate-shell'...
remote: Enumerating objects: 88, done.
remote: Counting objects: 100% (88/88), done.
remote: Compressing objects: 100% (55/55), done.
remote: Total 4515 (delta 44), reused 63 (delta 33), pack-reused 4427
Receiving objects: 100% (4515/4515), 2.47 MiB | 673.00 KiB/s, done.
Resolving deltas: 100% (2875/2875), done.

cloneしたディレクトリに入り、

$ cd translate-shell/

$ ls
CONTRIBUTING.md  Makefile   README.template.md  build.awk                 include  metainfo.awk  test.awk   translate-shell.plugin.zsh
LICENSE          README.md  WAIVER              google-translate-mode.el  man      test          translate  translate.awk

make

$ make
[OK] Task build completed.

make install。

# make install
[OK] Task build completed.
[OK] translate-shell installed.

インストール完了。transコマンドが使えるようになりました。

$ which trans
/usr/local/bin/trans

transコマンドを実行、英語 → 日本語翻訳してみる

transコマンドにen:jaオプションを付け、引数の英語を日本語に翻訳します。

$ trans en:ja 'hello world!'
hello world!

こんにちは世界!
(Kon'nichiwa sekai!)

「hello world!」の翻訳
[ English -> 日本語 ]

hello world!
    こんにちは世界!, 世界こんにちは!

色々余分なものが表示されて流用し辛いです。-bを付けると翻訳文のみの表示になります。

$ trans -b en:ja 'hello world!'
こんにちは世界!

使いやすくなりました。

本題、cowsayに日本語でfortuneを喋らせてみる

fortuneをtransにパイプして日本語化、cowsayにパイプしてみます。

またまたご冗談を。

$ fortune | trans -b en:ja | cowsay
 __________________________
< システムを再起動しています。お待ちください... >
 --------------------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

障害報告じゃなければいいけど。

# fortune | trans -b en:ja | cowsay
 ______________________
< オペレーターからのメッセージがあります。 >
 ----------------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

温故知新の精神を思い出させてくれます。

# fortune | trans -b en:ja | cowsay
 ___________________________________
/ Unixを理解していない人は、Unixを再発明すると非難されます。 \
\ -ヘンリー・スペンサー                       /
 -----------------------------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

男女の性質の違い、それによる失恋を乗り越える術を詩的かつ哲学的に教示してくれます。失恋も一つの学びか、なるほど勉強になる・・・って長いわ。

$ fortune | trans -b en:ja | cowsay
 _________________________________________
/ しばらくして、微妙な違いを学びます 手をつないで魂をつなぐ間、         \
| そして、愛はセキュリティを意味するものではないことを学びます          |
| そして、あなたはキスが契約ではないことを学び始めます              |
| そしてプレゼントは約束ではありません                      |
| そして、あなたはあなたの敗北を受け入れ始めます 頭を上げて目を開けて、     |
| 子供の悲しみではなく、女性の恵みで、                      |
| そして、あなたはあなたのすべての道を造ることを学びます 今日は明日だから    |
| 不確実すぎる。そして先物は 飛行中に落ちる方法、                |
| しばらくすると、あなたはあなたがあまりにも多くの場合、太陽の光さえ燃えることを |
| 学びます。 だから、あなたは自分の庭を植えて、待つのではなく、自分の魂を飾る  |
| 誰かがあなたに花を持ってきてくれます。                     |
| そして、あなたは本当に耐えることができることを学びます...          |
| あなたが本当に強いこと、 そして、あなたは本当に価値があります         |
| そして、あなたは学び、学ぶ さよならごとにあなたは学びます。          |
\ -Veronica Shoffstall、「Comes the Dawn」   /
 -----------------------------------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

自動翻訳にかけると無限に迷文が爆誕してくれて飽きない。シェルにログインするのが楽しみになります。

まとめ

リモートシェルにログインする度に毎回違う光景が見れて楽しいです。不幸にもデスマに巻き込まれて極限状態にいる時、Linuxにログインした際優しい言葉を掛けられてふと我に返る、なんてことがあるかも知れません。

シェルログインした際に毎回違うアクションがあるとちょっと新鮮な気分になれるので、日々のシェル作業にマンネリ化を感じている方は、遊び心の一環として取り入れてみては如何でしょうか。

-linux
-, ,

執筆者:

関連記事

CentOSで暗号鍵用のパスワードを生成

そこそこ長くて文字種の入り混じった強度の高いものを自分で考えるのは面倒です。 暗号化処理を使う際に必要なパスワード文字列を、mkpasswdコマンドでいい感じに生成出来るようにしておきます。 目次1 …

CentOS8にPostgreSQL12をインストールする手順

以前CentOS7にPostgreSQL11をインストールしてSQL実行しました。 One IT Thing  1 Pocket開発用PostgreSQLをCentOSにインストールしてSQ …

podmanをdockerとして使う

docker代替としてRHEL系OSにデフォルト搭載されたpodmanは当初、dockerを期待している他周辺ソフトウェア(docker-componseやgitlab-runnerなど)と素直に通信 …

CentOS8をVirtualBoxにインストールしてXからdnfを打つまで

2019年9月24日(米時間)CentOS8がリリースされました。 RHEL8リリースから4か月、まだかまだかとリリース進捗を眺めていた方も多かったのではないでしょうか。 「時間が出来たら入れてみよう …

pgadmin4をCentOS7にインストールしてサーバモードで起動する手順

目次1 はじめに1.1 pgadmin3時代1.2 pgadmin4時代2 前提3 環境4 手順4.1 1.yumリポジトリ追加。pgdg(ポスグレ本家)、epel(python関連用)4.2 2.p …

 

shingo.nakanishi
 

東京在勤、1977年生まれ、IT職歴2n年、生涯技術者として楽しく生きることを目指しています。デスマに負けず健康第一。