我有以下代码,它将 94 个 x 插入到 .txt 文件中:
printf 'x%.0s' {1..94}
是否可以在输出 94 个 x 之前合并插入的新行?
我已经尝试过:
printf '\n x%.0s' {1..94}
printf "\n x%.0s" {1..94}
但我无法让它工作。
我可以在上面的代码行中使用
echo -e "\n"
,但是这是重复出现的代码行,如果可能的话我更愿意将其合并为一个
简单明了的解决方案是先做一个,然后再做另一个。
printf 'x%.0s' {1..94} >file
printf '\n' >>file
在文本之前打印换行符很奇怪,但如果您确实需要它,只需交换语句即可。请注意,第一个创建带有 >
的文件,第二个附加
>>
;显然,不要交换重定向。如果你想避免重复,请将其放入函数中。
ninetyfourx () {
printf 'x%.0s' {1..94}
printf '\n'
}
ninetyfourx >file
ninetyfourx >another
printf
实现此目的(与
bash
配合使用):
printf '%.1s' $'\n' x{1..94}
代码::
printf '%.1s' $'\n' x{1..10}
xxxxxxxxxx
PS:请注意,在此示例中我使用了10
,以便能够通过生成的输出显示工作方法。
说明:
$'\n'
:将发出换行符
x{1..10}
将生成以下输出:
x1 x2 x3 x4 x5 x6 x7 x8 x9 x10
和 printf
格式
%.1s
将打印输入参数中的第一个字母,即
\n
或
x
到
printf
。