bash - printf 格式化输出到 .txt 文件

问题描述 投票:0回答:2

我有以下代码,它将 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"
,但是这是重复出现的代码行,如果可能的话我更愿意将其合并为一个

bash printf
2个回答
0
投票

简单明了的解决方案是先做一个,然后再做另一个。

printf 'x%.0s' {1..94} >file
printf '\n' >>file

在文本之前打印换行符很奇怪,但如果您确实需要它,只需交换语句即可。请注意,第一个创建带有 >

 的文件,第二个附加 
>>
;显然,不要交换重定向。


0
投票
以下是如何通过单个

printf

 实现此目的(与 
bash
 配合使用):

printf '%.1s' $'\n' x{1..10} xxxxxxxxxx

说明:

x{1..10}

 将生成以下输出:

x1 x2 x3 x4 x5 x6 x7 x8 x9 x10

printf

 格式 
%.1s
 将打印此输出中的第一个字母 
x

© www.soinside.com 2019 - 2024. All rights reserved.