神奇的Linux命令行字符形狀工具boxes
現在正值假期,每個 Linux 終端用戶都該得到一點禮物。無論你是慶祝圣誕節(jié)還是慶祝其他節(jié)日,或者什么節(jié)日也沒有,都沒有關系。我將在接下來的幾周內介紹 24 個 Linux 命令行小玩具,供你把玩或者與朋友分享。讓我們享受樂趣,讓這個月過得快樂一點,因為對于北半球來說,這個月有點冷并且沉悶。
對于我要講述的內容,可能你之前就有些了解。但是,我還是希望我們都有機會學到一些新的東西(我做了一點研究,確??梢苑窒?24 個小玩具)。
24 個 Linux 終端小玩具中的***個是叫做 boxes
的小程序。為何從 boxes
說起呢?因為在沒有它的情況下很難將所有其他命令禮物包裝起來!
在我的 Fedora 機器上,默認沒有安裝 boxes
程序,但它在我的普通倉庫中可以獲取到,所以用如下命令就可安裝:
$ sudo dnf install boxes -y
如果你在使用其他 Linux 發(fā)行版,一般也都可以在默認倉庫中找到 boxes
。
boxes
是我真正希望在高中和大學計算機課程中就使用的實用程序,因為善意的老師要求我在每個源文件、函數、代碼塊等開頭添加一些特定外觀的備注信息。
/***************/
/* Hello World */
/***************/
事實證明,一旦你需要在框內添加幾行文字,并且格式化的將它們統(tǒng)一風格就會變得很乏味。而 boxes
是一個簡單實用程序,它使用 ASCII 藝術風格的字符形狀框來包圍文本。其字符形狀默認風格是源代碼注釋風格,但也提供了一些其他選項。
它真的很容易使用。使用管道,便可以將一個簡短問候語塞進字符形狀盒子里。
$ cat greeting.txt | boxes -d diamonds -a c
上面的命令輸出結果如下:
/\ /\ /\
/\//\\/\ /\//\\/\ /\//\\/\
/\//\\\///\\/\//\\\///\\/\//\\\///\\/\
//\\\//\/\\///\\\//\/\\///\\\//\/\\///\\
\\//\/ \/\\//
\/ \/
/\ I'm wishing you all a /\
//\\ joyous holiday season //\\
\\// and a Happy Gnu Year! \\//
\/ \/
/\ /\
//\\/\ /\//\\
\\///\\/\//\\\///\\/\//\\\///\\/\//\\\//
\/\\///\\\//\/\\///\\\//\/\\///\\\//\/
\/\\//\/ \/\\//\/ \/\\//\/
\/ \/ \/
或者玩點更有趣的,比如:
echo "I am a dog" | boxes -d dog -a c
不要驚訝,它將會輸出如下:
__ _,--="=--,_ __
/ \." .-. "./ \
/ ,/ _ : : _ \/` \
\ `| /o\ :_: /o\ |\__/
`-'| :="~` _ `~"=: |
\` (_) `/
.-"-. \ | / .-"-.
.---{ }--| /,.-'-.,\ |--{ }---.
) (_)_)_) \_/`~-===-~`\_/ (_(_(_) (
( I am a dog )
) (
'---------------------------------------'
boxes
程序提供了很多選項 用于填充、定位甚至處理正則表達式。你可以在其 項目主頁 上了解更多有關 boxes
的信息,或者轉到 GitHub 去下載源代碼或者貢獻你自己的盒子形狀。說到此,如果你想給你的提交找個好點子,我已經有了一個想法:為什么不能是一個節(jié)日禮物盒子?
_ _
/_\/_\
_______\_\/_/_______
| ///\\\ |
| /// \\\ |
| |
| "Happy pull |
| request!" |
|____________________|
boxes
是基于 GPLv2 許可證的開源項目。
你有特別喜歡的命令行小玩具需要我介紹的嗎?這個系列要介紹的小玩具大部分已經落實,但還預留了幾個空位置。如果你有特別想了解的可以評論留言,我會查看的。如果還有空位置,我會考慮介紹它的。即使要介紹的小玩具已經有 24 個了,但如果我得到了一些很好的意見,我會在***做一些有價值的提及。
你可以通過 Drive a locomotive through your Linux terminal 來查看明天會介紹的命令行小玩具。