Entrada de linha única para saída de múltiplas linhas no Unix

1

Como posso usar um filtro para exibir algo como:

echo "Olá aqui" |

H
e
l
l
o

t
h
e
r
e
    
por Jurgen Malinao 27.03.2013 / 15:37

3 respostas

11

Aqui está um par:

  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
    
por 27.03.2013 / 15:42
5

Você pode usar sed para fazer isso. É um pouco mais leve que o perl, mas ainda permite que você use expressões regulares para expressar os desejos do seu coração.

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

w
o
r
l
d
    
por 27.03.2013 / 15:45
4

Isso também funciona:

echo "Hello there" | grep -o .
  • . corresponde a um único caractere.
  • -o apenas imprime a correspondência (em vez da linha inteira).
por 27.03.2013 / 21:10

Tags