如何移动 Figlet 输出

ant*_*nid 4 linux bash terminal console ascii-art

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

(tput sc ; tput cup 23 45 ; figlet text; tput rc)
Run Code Online (Sandbox Code Playgroud)

但它不起作用。

不一定要使用Figlet,可以使用任何将文本转换为“ascii art”的程序。

谢谢!

Upd1:抱歉,伙计们。“居中”只是一个例子。一般来说,我有必要将此文本移动到固定的行和列,例如

tput cup 10 10
Run Code Online (Sandbox Code Playgroud)

jm6*_*666 6

居中很容易:

figlet -w $(tput cols) -c hello
Run Code Online (Sandbox Code Playgroud)
  • 平均中心-c
  • 设置-w num线宽figlet
  • 返回tput cols当前终端的列

一般来说,您可以使用 将-w设置line width为某个数字,假设40使用-c并且您将使文本移动......

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

$ figlet -w 50  -c hello
               _          _ _       
              | |__   ___| | | ___  
              | '_ \ / _ \ | |/ _ \ 
              | | | |  __/ | | (_) |
              |_| |_|\___|_|_|\___/ 
Run Code Online (Sandbox Code Playgroud)

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

figlet hello | sed 's/^/               /'
Run Code Online (Sandbox Code Playgroud)

或 perl

figlet hello | perl -nle 'print " " x 30 . $_'
Run Code Online (Sandbox Code Playgroud)