我有此代码使用unicode字符打印水平线\u2501
:
/bin/tcsh 的 #!/bin/tcsh 设置 horz_line = "'" foreach x (`序列 1 1 80`) 设置 horz_line = "${horz_line}\\u2501" 结尾 设置 horz_line = "${horz_line}\\n'" printf $horz_line
但它并没有给出我所期望的结果。我期望输出看起来像下面生成的输出:
/bin/tcsh 的 #!/bin/tcsh foreach x (`序列 1 1 79`) printf'\u2501' 复制代码 结尾 printf'\u2501\n' 复制代码
我之所以想尝试第一个块中的代码,是因为第二个块中的代码可以运行但速度很慢。当我运行第二个块代码时,我可以看到整行一次绘制几个字符。
我的想法是,这可能是因为printf
被调用了 80 次。所以我尝试了第一种块方法,即生成一个字符串\u2501\u2501.. (80 times)
,然后printf
只调用一次来打印它。
答案1
下面的代码实现了问题中第一个代码块中我想要的结果。它比第二个代码块快得多。
/bin/tcsh 的 #!/bin/tcsh 设置水平线 = “” foreach x (`序列 1 1 80`) 设置 horz_line = ${horz_line}'\\u2550' # 双线 结尾 printf“`echo $horz_line`\n” 取消设置水平线