• Linux 的 FIGlet 指令产生 ASCII Art 大型文字教学


    摘自:https://blog.gtwang.org/linux/figlet-command-ascii-art-text-tutorial/

    安裝 FIGlet

    若在 Debian 或 Ubuntu Linux 中,可以使用 apt 安裝 FIGlet 這個工具:

    sudo apt-get install figlet

    若是 CentOS Linux,則在啟用 EPEL 之後,使用 yum 安裝:

    sudo yum install epel-release
    sudo yum install figlet

    基本用法

    直接執行 figlet 指令,並指定文字的內容即可產生大型文字:

    figlet "G. T. Wang"
      ____     _____  __        __                
     / ___|   |_   _|        / /_ _ _ __   __ _ 
    | |  _      | |      / / / _` | '_  / _` |
    | |_| |_    | |_     V  V / (_| | | | | (_| |
     ____(_)   |_(_)    _/_/ __,_|_| |_|__, |
                                            |___/

    figlet 也可以像一般的 Linux 指令一樣,從標準輸入取得文字內容:

    LANG=C date | figlet
     __  __               __  __              _  ___  
    |  /  | ___  _ __   |  /  | __ _ _ __  / |/ _  
    | |/| |/ _ | '_   | |/| |/ _` | '__| | | (_) |
    | |  | | (_) | | | | | |  | | (_| | |    | |__, |
    |_|  |_|___/|_| |_| |_|  |_|__,_|_|    |_|  /_/ 
                                                      
     _  __    _________   _ ____     ____ ____ _____   ____   ___  _  ___  
    / |/ /_ _|___ / ___|_/ | ___|   / ___/ ___|_   _| |___  / _ / |( _ ) 
    | | '_ (_) |_ ___ (_) |___   | |   ___  | |     __) | | | | |/ _  
    | | (_) | ___) |__) || |___) | | |___ ___) || |    / __/| |_| | | (_) |
    |_|___(_)____/____(_)_|____/   ____|____/ |_|   |_____|___/|_|___/

    若執行 figlet 指令,不加任何參數的話,會進入互動式的環境,使用者每輸入一行文字,就會輸出轉換的結果:

    figlet

    figlet 互動式操作環境

     

    選擇字型

    FIGlet 的字型是可以選擇的,我們可以使用 figlist 這個指令列出 FIGlet 內建的所有字型:

    figlist
    Default font: standard
    Font directory: /usr/share/figlet
    Figlet fonts in this directory:
    banner
    big
    block
    bubble
    digital
    ivrit
    lean
    [略]

    從 figlist 指令的輸出中,我們可以看出 FIGlet 預設的字型目錄是 /usr/share/figlet(所以也可以直接到這個目錄下查看可用的字型),而預設的字型則為 standard

    若要指定字型,可以使用 -f 參數,例如使用 banner 這個字型:

    figlet -f banner "G. T. Wang"
     #####         #######        #     #                      
    #     #           #           #  #  #   ##   #    #  ####  
    #                 #           #  #  #  #  #  ##   # #    # 
    #  ####           #           #  #  # #    # # #  # #      
    #     # ###       #    ###    #  #  # ###### #  # # #  ### 
    #     # ###       #    ###    #  #  # #    # #   ## #    # 
     #####  ###       #    ###     ## ##  #    # #    #  ####

    下載字型檔

    除了系統上預設安裝好的字型之外,在 FIGlet 的官方網站上也有非常多的字型可以下載使用,建議可以從它的範例網頁中挑選喜歡的字型,然後再下載對應的字型檔。

    假設我們想要使用 isometric1,就先下載該字型檔:

    wget http://www.figlet.org/fonts/isometric1.flf

    接著在含有這個字型檔的目錄,執行 figlet 並以 -f 參數指定字型名稱:

    figlet -f isometric1 "GTW"
          ___           ___           ___     
         /           /           /__    
        /::          :         /:/ _/_   
       /:/:          :       /:/ /__  
      /:/  :         /::     /:/ /:/ _/_ 
     /:/__/_:__     /:/:__ /:/_/:/ /__
     :  / /__/    /:/  /__/ :/:/ /:/  /
      : :__     /:/  /       ::/_/:/  / 
       :/:/  /     /__/         :/:/  /  
        ::/  /                     ::/  /   
         /__/                       /__/
     

    細部調整選項

    FIGlet 預設會讓每個字母黏在一起,如果想要讓每個字母分開,看得更清楚的話,可以加上 -k 參數:

    figlet -k "G. T. Wang"
      ____      _____   __        __                   
     / ___|    |_   _|         / /__ _  _ __    __ _ 
    | |  _       | |       / / // _` || '_   / _` |
    | |_| | _    | | _     V  V /| (_| || | | || (_| |
     ____|(_)   |_|(_)    _/_/  __,_||_| |_| __, |
                                                 |___/

    如果在終端機螢幕上,想要讓輸出的文字置中,可以加上 -c 參數:

    figlet -c "G. T. Wang"

    置中對齊

    終端機的畫面寬度會直接影響到 FIGlet 的排版,FIGlet 預設的終端機的寬度為 80,如果您所使用的終端機寬度不是 80 的話,可以加上 -t 參數讓 FIGlet 自動偵測終端機的寬度,或是使用 -w 新寬度 的方式指定新的寬度。

    以下是一些有趣的指令,其將 figlet 所產生的文字,送給 tr 進行取代,產生出不同的效果:

    figlet -f lean | tr ' _/' ' ()'
    figlet -f lean | tr ' _/' './'
    figlet -f lean | tr ' _/' ' //'
    figlet -f lean | tr ' _/' '/  '

    參考資料:iT邦幫忙

  • 相关阅读:
    生成word附件和word域动态赋值
    查询结果用Object类或其数组的List接收
    mustache多次渲染和多个赋值
    规范必备:枚举类型
    使用HttpClient发送请求、接收响应
    java接口对接——别人调用我们接口获取数据
    java接口对接——调用别人接口推送数据
    mustache语法
    Confluence 6 空间标识
    Confluence 6 从一个模板中创建一个空间
  • 原文地址:https://www.cnblogs.com/LiuYanYGZ/p/14840579.html
Copyright © 2020-2023  润新知