Linux/Unix 桌面趣事:文字模式下的 ASCII 藝術與註釋繪畫

贊 回覆發表於2016-05-28

boxes 命令不僅是一個文字過濾器,同時是一個很少人知道的有趣工具,它可以在輸入的文字或者程式碼周圍框上各種ASCII 藝術畫。你可以用它快速建立郵件簽名,或者在各種程式語言中留下評論塊。這個命令可以在 vim 文字編輯器中使用,但是也可以在各種支援過濾器的文字編輯器中使用,同時也可以在命令列中單獨使用。

任務: 安裝 boxes

使用 apt-get 命令 在 Debian / Ubuntu Linux 中安裝 boxes:

$ sudo apt-get install boxes

輸出示例:

Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
  boxes
0 upgraded, 1 newly installed, 0 to remove and 6 not upgraded.
Need to get 0 B/59.8 kB of archives.
After this operation, 205 kB of additional disk space will be used.
Selecting previously deselected package boxes.
(Reading database ... 224284 files and directories currently installed.)
Unpacking boxes (from .../boxes_1.0.1a-2.3_amd64.deb) ...
Processing triggers for man-db ...
Setting up boxes (1.0.1a-2.3) ...

RHEL / CentOS / Fedora Linux 使用者, 使用 yum 命令來安裝 boxes,(請先啟用 EPEL 軟體倉庫):

# yum install boxes

輸出示例:

Loaded plugins: rhnplugin
Setting up Install Process
Resolving Dependencies
There are unfinished transactions remaining. You might consider running yum-complete-transaction first to finish them.
--> Running transaction check
---> Package boxes.x86_64 0:1.1-8.el6 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
==========================================================================
 Package        Arch            Version               Repository     Size
==========================================================================
Installing:
 boxes          x86_64          1.1-8.el6             epel           64 k
Transaction Summary
==========================================================================
Install       1 Package(s)
Total download size: 64 k
Installed size: 151 k
Is this ok [y/N]: y
Downloading Packages:
boxes-1.1-8.el6.x86_64.rpm                         |  64 kB     00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : boxes-1.1-8.el6.x86_64                                 1/1
Installed:
  boxes.x86_64 0:1.1-8.el6
Complete!

FreeBSD 使用者可以按如下使用:

cd /usr/ports/misc/boxes/ && make install clean

或者,使用 pkg_add 命令來增加包:

# pkg_add -r boxes

在一些給定文字週圍畫出任何種類的包圍框

輸入下列命令:

echo "This is a test" | boxes

或者,指定要使用的圖案的名字:

echo -e "\n\tVivek Gite\n\tvivek@nixcraft.com\n\twww.cyberciti.biz" | boxes -d dog

輸出示例 :

Unix / Linux: Boxes Command To Draw Various Designs

*圖01: Unix / Linux: Boxes 命令來畫出各式各樣的圖案 *

怎麼樣輸出所有的圖案

語法如下:

boxes option
pipe | boxes options
echo "text" | boxes -d foo
boxes -l

-d 選項用來設定要使用的圖案的名字。語法如下:

echo "Text" | boxes -d design
pipe | boxes -d desig

-l 選項列出所有圖案。它顯示了在配置檔案中的所有的框線設計圖,同時也顯示關於其創作者的資訊。

boxes -l
boxes -l | more
boxes -l | less

輸出示例:

43 Available Styles in "/etc/boxes/boxes-config":
-------------------------------------------------
ada-box (Neil Bird ):
    ---------------
    --           --
    --           --
    ---------------
ada-cmt (Neil Bird ):
    --
    -- regular Ada
    -- comments
    --
boy (Joan G. Stark ):
                    .-"""-.
                   / .===. \
                   \/ 6 6 \/
                   ( \___/ )
      _________ooo__\_____/______________
     /                                   \
    |   joan stark   spunk1111@juno.com   |
    |     VISIT MY ASCII ART GALLERY:     |
    | http://www.geocities.com/SoHo/7373/ |
     \_______________________ooo_________/  jgs
                    |  |  |
                    |_ | _|
                    |  |  |
                    |__|__|
                    /-'Y'-\
                   (__/ \__)
....
...
output truncated
..

在使用 vi/vim 文字編輯器時如何通過 boxes 過濾文字?

你可以在 vi 或 vim 中使用任何外部命令,比如在這個例子中,插入當前日期和時間,輸入:

!!date

或者

:r !date

你需要在 vim 中輸入以上命令來讀取 date 命令的輸出,這將在當前行後面加入日期和時分秒:

Tue Jun 12 00:05:38 IST 2012

你可以用 boxes 命令做到同樣的功能。如下建立一個作為示例的 shell 指令碼或者c程式:

#!/bin/bash
Purpose: Backup mysql database to remote server.
Author: Vivek Gite
Last updated on: Tue Jun, 12 2012

現在輸入如下(將游標移到第二行,也就是以“Purpose: ...”開頭的行)

3!!boxes

瞧,你就會看到如下的輸出 :

#!/bin/bash
/****************************************************/
/* Purpose: Backup mysql database to remote server. */
/* Author: Vivek Gite           */
/* Last updated on: Tue Jun, 12 2012                */
/****************************************************/

這個短片將會給你介紹boxes命令:

參見

  • boxes 幫助手冊

via: http://www.cyberciti.biz/tips/unix-linux-draw-any-kind-of-boxes-around-text-editor.html

作者:Vivek Gite 譯者:zky001 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

相關文章