Maior número em uma coluna usando o shell script

3

Eu tenho um arquivo que contém alguns dados em formato de coluna, por exemplo:

219m
219m
3.9g
3.9g
4.0g
4.0g
4.1g
4.1g
4.2g
4.2g
4.2g

Eu quero comparar os dados e encontrar o maior valor deles. Aqui g significa GB e m significa MB. Como eu encontraria o maior número usando um script de shell do Linux?

    
por user2525107 28.02.2014 / 08:14

1 resposta

6

sort -h pode fazer isso para você, mas precisa do sufixo de magnitude (ou seja, 'g' e 'm') para estar em maiúsculas. Então, para seus dados, você poderia fazer

tr a-z A-Z < filename | sort -h

Em algumas localidades, o . não é reconhecido como o separador decimal (consulte Separador decimal: exemplos de uso [Wikipedia] ] ). Se esse for o caso, modifique o comando como, por exemplo:

tr a-z A-Z < filename | LC_NUMERIC=C sort -h
    
por 28.02.2014 / 09:37