分页: 1 / 1

怎样让这个banner命令的输出立起来?

发表于 : 2008-05-18 13:33
ssfjhh
偶然看到有条有趣的命令banner(作用:将命令后跟的ASCII字符串以大字的方式显示输出),觉得很好玩,但是他的输出怎么是躺着的?
执行banner -w 20 hello之后的结果如下:
# #
##############
#
#
########
##
#######
#
# #
# ###
# #
##############
# #
##############
##
#######
#
# #
######
我想要的效果是这样的:
#   #  #######  #    #    #######
#   #  #     #    #     #   #
#   #  #     #    #     #   #
####### #####   #    #     #   #
#   # #     #    #     #   #
#   # #     #    #     #   #
#   # ####### ####### ####### #######
我该怎么办? :cry:

发表于 : 2008-05-18 14:04
laborer
好久以前我写着玩的一个脚本

代码: 全选

$ cat hbanner
#!/bin/sh
banner -w $1 $2 | awk -v W=$1 '
	BEGIN {FS=""; c[0]=" "; c[1]="*"; c[2]="#"; c[3]="@"} 
	{ 
		for (i=1; i<=W; i++) b[i]=($i=="#" ? 1 : 0);
		for (i=W-1; i>=2; i-=4) a[i]=a[i] c[b[i-1]+b[i]+b[i+1]];
	}
	END {for (i=W-1; i>=2; i-=4) print a[i]}
'
$ ./hbanner 44 HELLO
                                                                            
**@@@*    *@@@****@@@*******#@ **@@@*         **@@@*            *##***#@#   
  @@@      @@@    @@@        *   @@@            @@@           *@@       @@# 
  @@@      @@@    @@@    ##      @@@            @@@          *@@*        @@@
  @@@******@@@    @@@****@@      @@@            @@@          @@@         @@@
  @@@      @@@    @@@            @@@            @@@          @@@         @@@
  @@@      @@@    @@@            @@@            @@@           @@@       *@@*
  @@@      @@@    @@@        @   @@@        @   @@@        @   *@#     #@#  
######    #################### ############## ##############      *###**    

发表于 : 2008-05-18 14:16
ssfjhh
laborer 写了:好久以前我写着玩的一个脚本
问题是怎么用呀?以后我想执行这条命令就得先把该脚本中的HELLO换成我自己想要的字符吗?

发表于 : 2008-05-18 15:21
eexpress
不如试试toilet

竖立的作用是什么啊?软件不提供这功能的话。估计要自己作阵列转换了。

发表于 : 2008-05-18 15:29
ssfjhh
eexpress 写了:不如试试toilet

竖立的作用是什么啊?软件不提供这功能的话。估计要自己作阵列转换了。
没前边列出的好看呀?这个命令的名字真是。。。