You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让echo生成的day{1..360}按换行输出并写入文件?命令未达预期

解决方法

echo -e day{1..360}会把所有day1到day360以空格分隔的形式输出,既不会自动换行,也缺少你需要的- 前缀,所以达不到预期效果。你可以用以下几种方式实现需求:

方法一:使用printf命令(最简洁)

printf "- day%d\n" {1..360} > dif2.txt

printf的格式字符串"- day%d\n"会为每个数字添加- day前缀并自动换行,{1..360}会展开为1到360的连续数字,最终直接生成符合要求的内容并写入文件。

方法二:使用for循环

for i in {1..360}; do echo "- day$i"; done > dif2.txt

通过循环遍历1到360的每个数字,每次输出带- 前缀的字符串,最后将所有输出重定向到文件中。

方法三:修改已有输出(如果已执行过原echo命令)

如果已经用原命令生成了包含空格分隔的day1 day2 ... day360的内容,可以用sed处理:

echo day{1..360} | sed 's/ /\n- /g' | sed 's/^/- /' > dif2.txt

先把空格替换成换行加- ,再给开头补上- ,最终得到符合格式的内容。

内容的提问来源于stack exchange,提问作者Barbrik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 13:45:26