
echo
é usado para produzir uma nova linha em Linux.
echo -e '\n'
2 linhas
echo -e '\n\n'
3 linhas e assim por diante.
por exemplo
user@linux:~$ echo
user@linux:~$ echo -e '\n'
user@linux:~$ echo -e '\n\n'
user@linux:~$
Em vez de digitar \n\n
, seria possível usar algo como \n * 3
.
Saída Desejada
Eu sei echo -e '\n * 3'
que não produzirei 3 linhas, mas espero que você entenda o que quero dizer.
user@linux:~$ echo -e '\n * 3' # <== I hope you get what I mean
user@linux:~$
Responder1
Se você estiver usando bash ou ksh93 ou zsh então
printf '%.0s\n' {1..3}
produzirá 3 novas linhas. O {1..3}
expande para 1 2 3
e, em seguida, as printf
saídas como strings de largura zero seguidas de nova linha.
Responder2
Se for necessária uma solução POSIX, use:
laço
Ao lado do loop POSIX óbvio (e feio):
i=0; while [ "$((i+=1))" -le 7 ]; do echo; done
POSIX (portátil)
Existem outras soluções (mais curtas, não necessariamente mais rápidas):
(1) Imprima espaços, converta em novas linhas.
printf '%*s' 30 | tr ' ' '\n'
(2) Ou, para obter 23 linhas
seq 23 | tr -dc '\n'
(3) Usando awk:
seq 23 | awk '{printf "\n"}'
(4) Assumindo que IFS é o padrão
printf '%.0s\n' $(seq 23)
(5) sed
anexa uma nova linha adicional, para 23 novas linhas, use 22:
printf '%0*d' 22 | sed 'y/0/\n/'
(6) Alguns shells criam automaticamente todos os elementos da matriz com numeração inferior.
zsh -c 'a[33]=1; printf "%.0s\n" "${a[@]}"'
(7) Obtenha alguns bytes NUL
head -c 5 /dev/zero | tr '\0' '\n'
Amplamente conhecido
Essas estão ao lado das soluções mais conhecidas (e usadas):
(8) Use head
contagem:
yes '' | head -n 23
(9)NãoPOSIX. Para alguns shells (ksh, bash, zsh pelo menos):
printf '%.0s\n' {1..23}
outras línguas
E, claro, usando (nãoPOSIX) linguagens de nível superior:
(10) Perl
perl -e 'print "\n" x 23'
perl -E 'say "\n" x 22'
(11) PHP
php -r 'echo str_repeat( "\n" , 3 );'
(12) Pitão
python -c 'print("\n" * 3)'
Responder3
$ yes "" | head -30
para obter 30 novas linhas.
Responder4
Caso usar python seja uma opção, o seguinte comando se comporta da maneira que você deseja:
python -c 'print("\n" * 3)'