Unix 中的单行输入到多行输出

Unix 中的单行输入到多行输出

如何使用过滤器来显示类似以下内容的内容:

回显“你好”|

H
e
l
l
o

t
h
e
r
e

答案1

以下是几个:

  1. fold

    echo "Hello there" | fold -w 1
    H
    e
    l
    l
    o
    
    t
    h
    e
    r
    e
    
  2. Perl

    echo "Hello there" | perl -pe 's/(.)/$1\n/g;'
    H
    e
    l
    l
    o
    
    t
    h
    e
    r
    e
    

答案2

你可以使用sed它来做到这一点。它比 perl 更轻量级,但仍允许你使用正则表达式来表达你的内心愿望。

$ echo "Hello world" | sed -r 's/./&\n/g'
H
e
l
l
o

w
o
r
l
d

答案3

这也有效:

echo "Hello there" | grep -o .
  • .匹配单个字符。
  • -o仅打印匹配项(而不是整行)。

相关内容