Сортировка GNU имеет параметр -V
/ --version-sort
, предназначенный только для сортировки номеров версий. Он производит именно тот результат, который вам нужен, а также работает с составными номерами версий, такими как 0.10.123
.
С этим конкретным набором данных вы также можете использовать sort -t. -k1,1n -k2,2n
. То есть указать sort
использовать .
в качестве разделителя полей, а затем выполнить численную сортировку на основе первого и второго полей в указанном порядке.(-k1n
будет использовать оставшуюся часть строки, начиная с первого поля, что приведет к другому результату.)
Возможно, ваш input_file
содержит не только текстовые данные.
Попробуйте использовать grep
с опцией -a
.
См. также параметр --binary-files=TYPE
для команды grep
и man grep
первый абзац о кодировании данных и значении NULL:
If a file's data or metadata indicate that the file contains binary data, assume that the file is of type TYPE. Non-text bytes indicate binary data; these are either output bytes that are improperly encoded for the current locale, or null input bytes when the -z option is not given.