当前位置:  开发笔记 > 编程语言 > 正文

使用bash创建缩进文本

如何解决《使用bash创建缩进文本》经验,为你挑选了2个好方法。

我想以可读的方式打印列表.我使用循环遍历每个元素并创建一个用逗号和换行符格式化的新列表.问题是在输出的第一行,我想要一个标题.例如,我想打印这样的东西:

List: red, green, blue, black, cars,
      busses, ...

问题是在第二行和后续行中创建缩进.我希望缩进具有给定的长度.因此,问题减少到创建给定长度的空行.也就是说,我想要一个create_empty_line_of_length输出给定空间量的函数.

length=5
echo "start:$(create_empty_line_of_length $length) hello"

在这种情况下输出应该是:

start:      hello

有谁知道如何做到这一点?



1> Kent Fredric..:
 printf '%7s' 

可能是最有效的方法.

它是大多数时候内置的shell,如果不是/ usr/bin/printf作为coreutils的后备存在.

所以

 printf '%7s%s\n%7s%s\n' '_' 'hello' '_' 'world'

产生

      _hello
      _world

(我在这里使用了_而不是space,但是空间也有效,因为bash理解'')



2> squadette..:

这将是

yes ' ' | head -7 | tr -d '\n'

将"7"更改为您的号码.

也许你应该看看

man fmt

也.

推荐阅读
N个小灰流_701
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有