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

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

Re: [shell-script] Identificar a maior linha de um arquivo


From: Moacir Souza
Subject: Re: [shell-script] Identificar a maior linha de um arquivo
Date: Mon, 31 Oct 2011 11:28:40 -0200

     Ahm,

     Adicionalmente, se você precisa saber apenas o tamanho da maior
linha e não a linha em si, existem outras formas:

- No Linux

$ wc -L arquivo
$ tr -c "\n" "." < arquivo | sort -n | tail -n 1 | tr -d "\n" | wc -m
(o wc -m conta, inclusive, o caractere de fim de linha, por isso usei
aquele tr -d)

- No AIX (ou em qualquer lugar onde você não tenha os recursos -L do
wc e o -c do tr, ou caso eles não funcionem como no Linux)

$ sed "s/././g" arquivo | sort | tail -n 1 | tr -d "\n" | wc -m

[]'s,
Moacir Filho

2011/10/31 Moacir Souza <address@hidden>:
>     Hum,
>
>     Conheço essa forma:
>
> $ awk '{print length, $0}' teste | sort -nr
>
>     Perceba:
>
> $ cat teste
> 111111111111111111111
> 222222222222222222222222222222
> 222222222222222222222222222222
> 6666666666666666666666666666666666666666666666
> 33333333333333333333333333333333333333333
> 33333333333333333333333333333333333333333
> 33333333333333333333333333333333333333333
> 444444444
> 5555555555555555555
>
> $ awk '{print length, $0}' teste | sort -nr | head -n 1
> 46 6666666666666666666666666666666666666666666666
>
>     É claro que se quiser ver todas as linhas em ordem decrescente de
> tamanho basta remover o "| head -n 1".
>
> Abraços,
> Moacir Filho
>
> --
> ==========================================
> Moacir da Cruz Souza Filho
>
> Analista de Sistemas: Suporte Unix Avançado
> Mestrando em Ciências da Computação
> Bacharel em Engenharia da Computação
> Técnico em Eletrônica
> Linux user #449600
> ==========================================
>



-- 
==========================================
Moacir da Cruz Souza Filho

Analista de Sistemas: Suporte Unix Avançado
Mestrando em Ciências da Computação
Bacharel em Engenharia da Computação
Técnico em Eletrônica
Linux user #449600
==========================================


reply via email to

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