[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
==========================================