$ alias MAGICK="printf '%5s\n'"
$ MAGICK 10
10
Então eu não quero isso:
echo "9"
9
Preciso disso, por exemplo: 4 espaços antes dele:
MAGICK "9"
9
Então, se eu tentar com 10:
MAGICK "10"
10
então ele terá apenas 3 espaços antes dele. Como posso formatar minha saída dessa maneira?
Você deve usar printf
se quiser formatar a saída.
No seu exemplo acima, você pode usar 1 :
printf "\t%s\n" "9"
Onde \t
é uma tabspace, %s
é a string que você deseja imprimir e \n
é uma nova linha.
Muitos shells têm sua própria versão de printf
- verifique sua documentação para detalhes.
[1] Observação: não estou completamente claro em sua pergunta o que você está tentando realizar ...
Adaptado para saída canalizada:
alias rj='xargs printf "%$((${COLUMNS}-4))s\n"'
seq 0 $LINES | rj
Tags text-processing echo table