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

Linux/UNIX系统下将字符串每个字符单独换行显示的命令是什么?

Linux/UNIX 字符串逐字符换行输出方法

以下所有方法均以输入字符串abc123为例,可直接得到逐字符换行的输出效果。

最简便方案:使用fold命令

fold是专门用于文本折行的工具,指定每行宽度为1即可实现需求:

echo -n "abc123" | fold -w1

参数说明:

  • -w1 指定每行宽度为1个字符
  • echo -n 避免额外输出末尾的换行符,防止最终结果多一个空行

其他常用可选方案

  • 方案1:使用grep匹配单个字符
    echo -n "abc123" | grep -o .
    
    原理:-o参数仅输出匹配到的内容,.匹配任意单个字符,每个匹配结果单独占一行。
  • 方案2:使用sed全局替换
    echo -n "abc123" | sed 's/./&\n/g'
    
    原理:将每个匹配到的单个字符替换为「字符本身+换行符」,全局生效(注:BSD 版本的 sed 需将命令中的\n替换为实际换行符并转义)。
  • 方案3:使用awk遍历输出
    echo "abc123" | awk '{for(i=1;i<=length($0);i++) print substr($0,i,1)}'
    
    原理:遍历字符串的每个下标,逐个截取字符打印。

如果是要处理变量中的字符串,可直接用Here String简化写法,比如变量str="abc123",用fold命令的写法可简化为fold -w1 <<< "$str"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 13:06:03