|
From: | Sidney Souza |
Subject: | Re: [Bulk] Re: [shell-script] Column |
Date: | Sun, 10 May 2015 11:58:26 -0300 |
Se vc quiser usar column, a construção que vc usou não é a melhor, prefiro usar:
$ (echo -e "123\n789"; echo -e "456\n0") | column -c16
123 456
789 0ou:
$ column -c 16 <<< "$(echo -e "123\n789"; echo -e "456\n0")"
123 456
789 0ou ainda sem usar column:
$ (echo -e "123\n789"; echo -e "456\n0") | xargs -n2
123 789
456 0Mas tb tem o cmd fold (que parece um pouco com o column mas não é aplicável no caso pq ele trabalha linha a linha) onde vc pode atribuir a largura a ser impressa, veja:
$ echo {01..16}
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16
$ echo {01..16} | fold -w 12
01 02 03 04
05 06 07 08
09 10 11 12
13 14 15 16Repare que existem 8 algarismos e 4 espaços (depois do 04, 08 e 12 tb tem espaço) e 12 é a soma disso. Veja que vc tb pode truncar:
$ echo {01..16} | fold -w 10
01 02 03 0
4 05 06 07
08 09 10
11 12 13 1
4 15 16Ou colocar em 3 colunas, usando -w9
$ echo {01..16} | fold -w9
01 02 03
04 05 06
07 08 09
10 11 12
13 14 15
16Aconselho demais a leitura sobre o cmd pr, ele faz tudo em termos de formatação. Segundo o tldp, ele mescla a funcionalidade do nl, paste, column e expand. Só um exemplo:
$ seq -w 10 | pr --column=2 -t
01 06
02 07
03 08
04 09
05 10
$ seq -w 10 | pr --column=5 -t
01 03 05 07 09
02 04 06 08 10Onde o -t é só para não fazer cabeçalho.A última, para dividir um texto em 3 linhas:$ echo $Texto | fold -w $((${#Texto}/3))
$ Texto="Eu vi um velho com um fole velho nas costas. Tanto fede o fole do velho quanto o velho do fole fede"
Eu vi um velho com um fole velho
nas costas. Tanto fede o fole do
velho quanto o velho do fole fede
OBS: Os meus cursos (veja datas no rodapé) abordam isso tudoEm 8 de maio de 2015 17:18, Alfredo Casanova address@hidden [shell-script] <address@hidden> escreveu:column -c 16 <(echo -e "123\n789") <(echo -e "456\n0")123 456789 0
a solução é essa, mas ainda não entendi o pq do 16." -c Output is formatted for a display columns wide."não achei a relaçãoOn Fri, May 8, 2015 at 5:00 PM 'Julio C. Neves' address@hidden [shell-script] <address@hidden> wrote:$ echo -e "123\n789" | column -c 16
123 789
É isso?Em 8 de maio de 2015 13:23, Alfredo Casanova address@hidden [shell-script] <address@hidden> escreveu:Tenho 2 outputs assim:$ echo -e "123\n789"123789$ echo -e "456\n0"4560queria transformar em:123 456789 0é possível fazer com column? Apanhei do man aqui e não consegui. Se não, qual seria a melhor forma?
[Prev in Thread] Current Thread [Next in Thread]
- Column, Alfredo Casanova, 2015/05/08
- Re: Column, Alfredo Casanova, 2015/05/08
- Re: [Bulk] [shell-script] Re: Column, Sidney Souza, 2015/05/08
- Re: [shell-script] Column, Julio C. Neves, 2015/05/08
- Re: [shell-script] Column, Alfredo Casanova, 2015/05/08
- Re: [Bulk] Re: [shell-script] Column, Sidney Souza, 2015/05/08
- Re: [shell-script] Column, Julio C. Neves, 2015/05/09
- Re: [Bulk] Re: [shell-script] Column, Sidney Souza <=
- Re: [Bulk] Re: [shell-script] Column, Julio C. Neves, 2015/05/11
- Re: [Bulk] Re: [Bulk] Re: [shell-script] Column, Sidney Souza, 2015/05/12
- Prev by Date: Re: [shell-script] Column
- Next by Date: Re: [Bulk] Re: [shell-script] Column
- Previous by thread: Re: [shell-script] Column
- Next by thread: Re: [Bulk] Re: [shell-script] Column
- Index(es):