shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bulk] Re: [shell-script] Column


From: Julio C. Neves
Subject: Re: [Bulk] Re: [shell-script] Column
Date: Mon, 11 May 2015 09:08:10 -0300

Fala Sidney,
no bash 3.0 é praticamente certo que funcionam, já que nenhum deles é
intrínseco (builtin), são todos externos. A minha grande dúvida é se todos
rodam no UNIX (que não uso há mais de 5 anos), já que não tenho como testar.

Achei legal a oportunidade de citá-los, pq são pouco conhecidos (para os
que não fazem o meu curso ;) e bastante úteis. Recomendo atenção especial
no pr.

echo 2045153246331333801911258901944917342695878515898660252682P | dc

Abcs,
Julio
*@juliobash*
*Próximos cursos de Shell*
*Cidade         Local Período*
*Rio de Janeiro EDX <http://edx.srv.br/> 18 a 22/05/15*

*São Paulo 4Linux
<http://www.4linux.com.br/cursos/programacao-em-shell-script> 15 a 19/06/15
Curitiba SoftCell <http://softsell.com.br/programacao-shell-scripit> 27 a
31/07/15 *[image: Imagem inline 1]
*São Paulo 4Linux
<http://www.4linux.com.br/cursos/programacao-em-shell-script> 03 a 07/08/15
*
*São Paulo 4Linux
<http://www.4linux.com.br/cursos/programacao-em-shell-script> 07 a 11/12/15
*

Dou treinamento de *Shell* em qualquer cidade.
Para mais detalhes, me mande um e-mail <address@hidden>.


Em 10 de maio de 2015 11:58, Sidney Souza address@hidden
[shell-script] <address@hidden> escreveu:

>
>
> O que eu mais gosto no Júlio é que ele não sabe brincar kkkkkk.
>
> Ótimos exemplos que, sem sombra de dúvida, irei utilizar o mais breve
> possível.
>
> Mas a perguntar que não quer calar:
>
> Júlio! Esses comandos que mencionastes funcionam no bash 3?
>
> ------------------------------------------------------
> http://www.politicos.org.br
>
> 2015-05-09 15:15 GMT-03:00 'Julio C. Neves' address@hidden
> [shell-script] <address@hidden>:
>
>>
>>
>> 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    0
>>
>> ou:
>> $ column -c 16 <<< "$(echo -e "123\n789"; echo -e "456\n0")"
>> 123    456
>> 789    0
>>
>> ou ainda sem usar column:
>> $ (echo -e "123\n789"; echo -e "456\n0") | xargs -n2
>> 123 789
>> 456 0
>>
>> Mas 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 16
>> Repare 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 16
>> Ou 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
>> 16
>>
>> Aconselho 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        10
>> Onde o -t é só para não fazer cabeçalho.
>>
>> A última, para dividir um texto em 3 linhas:
>> $ Texto="Eu vi um velho com um fole velho nas costas. Tanto fede o fole
>> do velho quanto o velho do fole fede"
>> $ echo $Texto | fold -w $((${#Texto}/3))
>> 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 tudo​
>>
>>
>> Abcs,
>> Julio
>> *@juliobash*
>> *Próximos cursos de Shell*
>> *Cidade         Local Período*
>> ​
>> *Rio de Janeiro EDX <http://edx.srv.br/> ​0​8 a ​1​2/0​6​/15*
>>
>> *São Paulo 4Linux
>> <http://www.4linux.com.br/cursos/programacao-em-shell-script> 15 a 19/06/15
>> **São Paulo 4Linux
>> <http://www.4linux.com.br/cursos/programacao-em-shell-script> 03 a 07/08/15
>> *
>> *São Paulo 4Linux
>> <http://www.4linux.com.br/cursos/programacao-em-shell-script> 07 a 11/12/15
>> *
>>
>> Dou treinamento de *Shell* em qualquer cidade.
>> Para mais detalhes, me mande um e-mail <address@hidden>.
>>
>>
>> Em 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 456
>>> 789 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ção
>>>
>>>
>>>
>>>
>>> On 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?
>>>>
>>>>
>>>> Abcs,
>>>> Julio
>>>> *@juliobash*
>>>> *Próximos cursos de Shell*
>>>> *Cidade         Local Período*
>>>> *Rio de Janeiro EDX <http://edx.srv.br/> 18 a 22/05/15*
>>>>
>>>> *São Paulo 4Linux
>>>> <http://www.4linux.com.br/cursos/programacao-em-shell-script> 15 a 19/06/15
>>>> **São Paulo 4Linux
>>>> <http://www.4linux.com.br/cursos/programacao-em-shell-script> 03 a 07/08/15
>>>> *
>>>> *São Paulo 4Linux
>>>> <http://www.4linux.com.br/cursos/programacao-em-shell-script> 07 a 11/12/15
>>>> *
>>>>
>>>> Dou treinamento de *Shell* em qualquer cidade.
>>>> Para mais detalhes, me mande um e-mail <address@hidden>.
>>>>
>>>>
>>>> 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"
>>>>> 123
>>>>> 789
>>>>>
>>>>> $ echo -e "456\n0"
>>>>> 456
>>>>> 0
>>>>>
>>>>> queria transformar em:
>>>>> 123 456
>>>>> 789 0
>>>>>
>>>>> é possível fazer com column? Apanhei do man aqui e não consegui. Se
>>>>> não, qual seria a melhor forma?
>>>>>
>>>>>
>>>>
>>
>  
>


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]