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