LINUX.ORG.RU

помогите с сортировкой


0

1

Привет всем! Всю голову себе сломал, пытаясь написать ced строку, чтобы сортировался 8 (восьмой) столбец.

Исходник:

176 100% 1.36 GiB Done 0.0 0.0 20.4 Stat Name

177 100% 1.36 GiB Done 0.0 0.0 6.32 Stat Name

178 100% 1.37 GiB Done 0.0 0.0 25.1 Stat Name

179 100% 693.7 MiB Done 0.0 0.0 11.0 Stat Name

180 100% 2.04 GiB Done 0.0 0.0 11.0 Stat Name

181 100% 1.35 GiB Done 0.0 0.0 3.83 Stat Name

182 100% 1.36 GiB Done 0.0 0.0 11.0 Stat Name

183 100% 1.37 GiB Done 0.0 0.0 11.0 Stat Name

Необходимо получить:

178 100% 1.37 GiB Done 0.0 0.0 25.1 Stat Name

176 100% 1.36 GiB Done 0.0 0.0 20.4 Stat Name

179 100% 693.7 MiB Done 0.0 0.0 11.0 Stat Name

180 100% 2.04 GiB Done 0.0 0.0 11.0 Stat Name

182 100% 1.36 GiB Done 0.0 0.0 11.0 Stat Name

183 100% 1.37 GiB Done 0.0 0.0 11.0 Stat Name

177 100% 1.36 GiB Done 0.0 0.0 6.32 Stat Name

181 100% 1.35 GiB Done 0.0 0.0 3.83 Stat Name

Еще желательно получить сортировку по возрастанию.

Help!

P.s. весь день гуглил, ничего не нашел :(

Ответ на: комментарий от anonymous

у меня есть переменная RAT, в которой хранятся все данные единой сточкой через пробел. т.е. это не совсем таблица или массив... Я просто в Sed'e плохо разбираюсь. У меня есть такие строчки

sed 's/^\s\+//g' sed 's/\s\{2,\}/~/g' Я не понимаю как они работают.

Эта строчка должна заниматься сортировкой, но что-то в ней не так RAT2=$(echo $RAT | sed 's/ /\n/g' | sort -u -r) Она должна из исходной RAT делать нужную сортировку в RAT2. Скрипт писал не я, а автор не отвечает.

nickjail
() автор топика

Что именно то сортируете? 8й столбец в вашем примере состоит из слова Stat, как из первого получилось второе я честнр пытался понять, но не смог

zolden ★★★★★
()
Ответ на: комментарий от zolden

zolden> 8й столбец в вашем примере состоит из слова Stat,

В твоей вселенной счет начинается с 2-ух?

sdio ★★★★★
()

$ cat file.txt | sort -gk 8 | sed '/^$/d'
181 100% 1.35 GiB Done 0.0 0.0 3.83 Stat Name
177 100% 1.36 GiB Done 0.0 0.0 6.32 Stat Name
179 100% 693.7 MiB Done 0.0 0.0 11.0 Stat Name
180 100% 2.04 GiB Done 0.0 0.0 11.0 Stat Name
182 100% 1.36 GiB Done 0.0 0.0 11.0 Stat Name
183 100% 1.37 GiB Done 0.0 0.0 11.0 Stat Name
176 100% 1.36 GiB Done 0.0 0.0 20.4 Stat Name
178 100% 1.37 GiB Done 0.0 0.0 25.1 Stat Name

$ cat file.txt | sort -grk 8 | sed '/^$/d'
178 100% 1.37 GiB Done 0.0 0.0 25.1 Stat Name
176 100% 1.36 GiB Done 0.0 0.0 20.4 Stat Name
183 100% 1.37 GiB Done 0.0 0.0 11.0 Stat Name
182 100% 1.36 GiB Done 0.0 0.0 11.0 Stat Name
180 100% 2.04 GiB Done 0.0 0.0 11.0 Stat Name
179 100% 693.7 MiB Done 0.0 0.0 11.0 Stat Name
177 100% 1.36 GiB Done 0.0 0.0 6.32 Stat Name
181 100% 1.35 GiB Done 0.0 0.0 3.83 Stat Name

Frakhtan-teh ★★
()
Ответ на: комментарий от Frakhtan-teh

$ cat file.txt | sort -gk 8 | sed '/^$/d' ок, эта штука работает хорошо. Спасибо! А как сделать чтобы она была применима не к файлу, а сразу брала данные из переменной «RAT»

nickjail
() автор топика
Ответ на: комментарий от Frakhtan-teh

Всем спасибо! Вы все гении, все работает!! зы литературку почитаю ;)

nickjail
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.