我对此很新,所以如果这是一个简单的问题我会提前道歉。 我想使用'printf'创建一个输出,如下所示:
#-------------------------------------------------------
#TEXT1 #TEXT2
#--------------------------------------------------------
如果有人能给我一些关于如何做到的提示,我真的很感激。
答案 0 :(得分:2)
这是使用具有特定字符数的长字符串的一种方式。
dashes=$(printf "%0.s-" {1..55})
printf "#$dashes\n#TEXT1%32s#TEXT2\n#$dashes-\n" " "
有关printf
中bash
命令的详细信息,请参阅Bash-Hackers Wiki。
dashes=$(printf "%0.s-" {1..55})
- 使用brace expansion和command substitution创建一个包含55个连续-
字符的字符串变量。
\n
- 打印换行符
%32s
- 打印32个" "
字符
要在#TEXT1
和#TEXT2
之间打印三个标签:
dashes=$(printf "%0.s-" {1..55})
printf "#$dashes\n#TEXT1\t\t\t#TEXT2\n#$dashes-\n" " "
\t
表示制表符。 答案 1 :(得分:0)
只需在最后用换行符打印字符串。
printf '#-------------------------------------------------------\n'
printf '#TEXT1 #TEXT2\n'
printf '#--------------------------------------------------------\n'
您也可以使用echo
,因为字符串中没有格式。那么你最后不需要\n
。
答案 2 :(得分:0)
你可以试试这个,
$ printf "#-------------------------------------------------------\n#TEXT1 #TEXT2\n#--------------------------------------------------------\n";
#-------------------------------------------------------
#TEXT1 #TEXT2
#--------------------------------------------------------