如何转移figlet输出

时间:2017-02-15 14:46:02

标签: linux bash terminal console ascii-art

我需要移动一个FIGlet输出(例如移动到终端的中心)。我怎样才能做到这一点? 我试过了

(tput sc ; tput cup 23 45 ; figlet text; tput rc)

但它不起作用。

使用figlet不是强制性的,可以使用任何将文本转换为" ascii art"。

的程序。

谢谢!

Upd1:抱歉,伙计们。 "定心"只是一个例子。通常,我需要将此文本转换为固定的行和列,例如

tput cup 10 10

2 个答案:

答案 0 :(得分:1)

中心很容易:

figlet -w $(tput cols) -c hello
  • -c表示中心
  • -w num设置figlet
  • 的行宽
  • tput cols返回当前终端的列

一般情况下,您可以使用-wline width设置为某个数字,比如40,然后使用-c,您将获得文字移...

$ figlet -w 30  -c hello
     _          _ _       
    | |__   ___| | | ___  
    | '_ \ / _ \ | |/ _ \ 
    | | | |  __/ | | (_) |
    |_| |_|\___|_|_|\___/ 

$ figlet -w 50  -c hello
               _          _ _       
              | |__   ___| | | ___  
              | '_ \ / _ \ | |/ _ \ 
              | | | |  __/ | | (_) |
              |_| |_|\___|_|_|\___/ 

此外,您可以通过在开头添加一些空格来移动输出,例如sed

figlet hello | sed 's/^/               /'

或perl

figlet hello | perl -nle 'print " " x 30 . $_'

答案 1 :(得分:0)

~$ echo $'\r\r\r\r\r\r'; figlet '                           text'

                            _            _   
                           | |_ _____  _| |_ 
                           | __/ _ \ \/ / __|
                           | ||  __/>  <| |_ 
                            \__\___/_/\_\\__|

~$