3

У меня есть файл, который содержит некоторые данные в формате столбца, например:

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

Я хочу сравнить данные и найти наибольшую ценность из них. Здесь g обозначает ГБ, а m обозначает МБ. Как бы я нашел наибольшее число, используя скрипт оболочки Linux?

1 ответ1

6

sort -h может сделать это за вас, но для его прописных требуется суффикс величины (т. е. «g» и «m»). Так что для ваших данных, вы могли бы сделать

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

В некоторых регионах . не распознается как десятичный разделитель (см. Десятичный разделитель: Примеры использования [Википедия]). Если это так, измените команду, например:

tr a-z A-Z < filename | LC_NUMERIC=C sort -h

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .