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

Bash技术实现:将空格分隔字符串转为带短横线前缀的换行格式

解决空格分隔字符串转带短横线列表的问题

直接修改你的sed命令,同时处理首行添加短横线和空格替换换行的需求:

categories="cat1 cat2 cat3 cat4 cat5"
mod_categories="$(echo "$categories" | sed 's/^/- /; s/ /\n- /g')"
echo "$mod_categories"

命令解释:

  • s/^/- /:匹配字符串开头(^表示行首),在开头插入- ,让首行直接变成- cat1
  • s/ /\n- /g:把所有空格替换成换行符加- ,后续分类项自动转为每行带短横线的格式

执行后就能得到期望输出:

  • cat1
  • cat2
  • cat3
  • cat4
  • cat5

另外还有一种更简洁的写法,无需sed,用printf配合参数展开直接实现:

categories="cat1 cat2 cat3 cat4 cat5"
printf -- "- %s\n" $categories

这个方法直接把每个分类项作为参数传给printf,自动按指定格式输出每行内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 23:27:31