Числовая сортировка, если число не в начале строки - PullRequest
0 голосов
/ 13 сентября 2018

Я использовал grep -Eo '[0-9]{1,}kg' *.dat, который фильтрует с *kg.Сейчас я пытаюсь отсортировать их в порядке возрастания.Мой вывод из grep:

blue_whale.dat:240kg 
crocodile.dat:5kg 
elephant.dat:6kg
giraffe.dat:15kg
hippopotamus.dat:4kg
humpback_whale.dat:5kg
ostrich.dat:1kg
sea_turtle.dat:10kg

Я пытался использовать sort -n.Но сортировка не работает.

edit: у меня есть куча файлов с указанием веса каждого животного и его длины.Я отфильтровал вес каждого животного.Эта часть была легкой.И затем я хочу упорядочить их в порядке возрастания, который, по моему мнению, был просто sort -n.

edit: в моем каталоге много файлов данных.И они содержат такие значения, как 110000 кг 24 м. И мне нужно заказать их в порядке увеличения веса

1 Ответ

0 голосов
/ 13 сентября 2018

Вам нужно использовать команду следующим образом:

grep -Eo '[0-9]{1,}kg' *.dat | sort -t: -n -k2

Используйте параметр "-t", чтобы указать двоеточие в качестве разделителя полей.

Вы можете использовать опцию -r для уменьшения или в обратном порядке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...