发怒的小蝌蚪 · matlab实现独立性检验t检验 - CSDN文库· 1 月前 · |
想出国的羽毛球 · 两个水塔串联安装 - 搜狗图片搜索· 7 月前 · |
彷徨的热水瓶 · Visual Studio 中的 ...· 7 月前 · |
直爽的黄花菜 · python - ...· 9 月前 · |
发怒的莲藕 · SQL中的行转列和列转行-阿里云开发者社区· 1 年前 · |
为了重复一个字符N次,我们可以使用
printf
。例如,要重复
@
20次,我们可以使用这样的方法:
N=20
printf '@%.0s' $(seq 1 $N)
产出:
@@@@@@@@@@@@@@@@@@@@
但是,该字符串的末尾没有换行符。我已经尝试将输出连接到
sed
:
printf '@%.0s' $(seq 1 $N) | sed '$s/$/\n/'
在不使用sed的情况下,一个
printf
(在输出的末尾添加一个换行符)是否能够实现相同的结果?
发布于 2020-09-23 14:39:38
使用
zsh
:
printf '%s\n' ${(l[20][@])}
(使用
l
左填充
参数展开标志
。您也可以在这里使用
r
点灯填充器)。
当然,您不必使用
printf
。您还可以在这里使用
print
或
echo
,它们在默认情况下会添加
\n
。(
printf '%s\n' "$string"
可以用
zsh
编写
print -r -- "$string"
或
echo -E - "$string"
,但如果
$string
不包含反斜杠且不以
-
开头,则可以简化为
print "$string"
/
echo "$string"
)。
如果最终目标是显示填充到屏幕宽度的字符串列表,则应该这样做:
$ lines=(short 'longer text' 'even longer')
$ print -rC1 -- ${(ml[$COLUMNS][@][ ])lines}
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ short
发怒的小蝌蚪 · matlab实现独立性检验t检验 - CSDN文库 1 月前 |
想出国的羽毛球 · 两个水塔串联安装 - 搜狗图片搜索 7 月前 |
直爽的黄花菜 · python - QStyledItemDelegate truncates text horizontally and doesn't add a horizontal scroll bar - S 9 月前 |
发怒的莲藕 · SQL中的行转列和列转行-阿里云开发者社区 1 年前 |