Bash Cat文件到终端中心

ltstrom

我有一个文本文件,其中包含一些ASCII艺术。我正在尝试让它在终端启动时打印到终端。我知道要这样做,我在.bashrc文件中添加了cat myfi。我被困住试图使猫的输出居中。我尝试使用tput cols不成功。

任何人都可以给我一些提示,或者如果可以的话。

马克·普洛特尼克

一种方法是执行以下步骤:

  • 获得端子的宽度
  • 在ASCII美工文件中找到最长的行
  • 将这些数字之间的差除以2得到所需的缩进
  • 打印ASCII美工文件,每行缩进

这是一个示例脚本,awk用于执行计算:

#!/bin/sh
input="$1"
twidth=$(tput cols)
echo terminal width is $twidth
indent=$(awk -v twidth=$twidth '    {
                                     w=length();
                                     if (w > fwidth) fwidth=w;
                                    }
                                END {
                                     indent=int((twidth-fwidth)/2);
                                     print (indent > 0 ? indent : 0);
                                    }' < "$input")
echo indent is $indent
awk -v indent=$indent '{ printf("%*s", indent, " "); print; }' < "$input"

这是一个对大字母L的测试:

$ cat /tmp/L
#
#
#
#
#
#
#######

$ ./center /tmp/L
terminal width is 81
indent is 37
                                     #
                                     #
                                     #
                                     #
                                     #
                                     #
                                     #######

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

新的终端bash文件错误

来自分类Dev

从bash脚本和cat文件打开编辑器到变量不起作用

来自分类Dev

如何使用“ EOL”和bash重定向将使用“ cat”的代码片段插入到文件中?

来自分类Dev

上次创建的远程文件上的Bash cat

来自分类Dev

Bash输出数据到文件

来自分类Dev

Bash输出数据到文件

来自分类Dev

cat 文件到终端并为特定单词着色

来自分类Dev

在bash终端中观察正在写入文件的文件输出

来自分类Dev

bash测试“开放终端”

来自分类Dev

bash在kubuntu上的终端

来自分类Dev

Linux bash终端编程

来自分类Dev

打开终端和bash

来自分类Dev

Bash脚本打开终端并cd到可变目录

来自分类Dev

在linux / bash中创建无限循环重复文件cat

来自分类Dev

shell bash,cat文件,同时使用sed替换文本

来自分类Dev

Bash with cat用于自动合并一对文件

来自分类Dev

为什么bash删除$(cat文件)中的\ n?

来自分类Dev

主管或cat或bash看不到更改的文件

来自分类Dev

将参数从文件传递到bash脚本

来自分类Dev

Bash脚本到列表中的cp文件

来自分类Dev

bash 文件中的 sqlcmd - 存储到变量

来自分类Dev

如何创建bash文件并允许其从终端接受参数?

来自分类Dev

从Git Bash终端上的.bat文件执行命令

来自分类Dev

从Git Bash终端上的.bat文件执行命令

来自分类Dev

从脚本文件调用Bash函数失败,而从终端调用成功

来自分类Dev

通过Bash打开外部终端时的源文件

来自分类Dev

如何使用bash脚本运行终端打开文件夹

来自分类Dev

打开新终端导致编辑 bash_aliases 文件

来自分类Dev

Shell /终端/ bash命令或脚本,用于将文件列表从一个项目复制到另一个项目

Related 相关文章

热门标签

归档