Вот один из способов решения этой проблемы:
- Добавьте второй столбец, в котором время пересчитано в ту же единицу
 
- Сортировка ввода по второму столбцу
 
- Оставьте второй столбец
 
Вы можете выполнить шаг 1 с помощью скрипта awk, который преобразует единицы времени в наносекунды:
{
    time = $1;
    sub(/[a-z]+$/, "", time);
    unit = $1;
    sub(/^[^a-z]+/, "", unit);
    # convert to nanoseconds
    if (unit == "us") {
        time *= 1000;
    } else if (unit == "ms") {
        time *= 1000000;
    } else if (unit == "s") {
        time *= 1000000000;
    }
    print $1, time
}
Если вы сохраните это в файле convert.awk , то можете выполнить шаги 1-3 с этим конвейером:
awk -f convert.awk input.txt | sort -g -k2 | cut -f1 -d' '
-g вместо -n необходим, если некоторые числа отображаются в экспоненциальной записи. (Благодарим ОП за указание на это.)