The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"сортировка строк"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [ Отслеживать ]

"сортировка строк"  
Сообщение от GHopper email(ok) on 23-Апр-08, 08:19 
Здравствуйте!

FreeBSD 4.10

Подскажите пожалуйсто как отсортировать случайнам образом строки в файле? Не могу разобраться с sort -R - тупо манула нету. Для чего там --random-source?

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "как линуксоид линуксоиду..."  
Сообщение от Andrey Mitrofanov on 23-Апр-08, 09:58 
>FreeBSD 4.10
>
>Подскажите пожалуйсто как отсортировать случайнам образом строки в файле? Не могу разобраться
>с sort -R - тупо манула нету. Для чего там --random-source?

http://www.freebsd.org/cgi/man.cgi?query=sort&apropos=0&sekt...
Ни "-R", ни "random" не вижу. Чего-то я не понимаю во freebsd...

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "как линуксоид линуксоиду..."  
Сообщение от phpcoder email(??) on 23-Апр-08, 10:02 
>>FreeBSD 4.10
>>
>>Подскажите пожалуйсто как отсортировать случайнам образом строки в файле? Не могу разобраться
>>с sort -R - тупо манула нету. Для чего там --random-source?
>
>http://www.freebsd.org/cgi/man.cgi?query=sort&apropos=0&sekt...
>Ни "-R", ни "random" не вижу. Чего-то я не понимаю во freebsd...

Опция -R появилась в последних GNU coreutils (начиная с версии 6.10 ЕМНИП)


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "для начала под Gentoo Linux"  
Сообщение от GHopper email(ok) on 23-Апр-08, 10:33 
вообще я пишу под Gentoo2007.0, но планирую использовать на FreeBSD4.10.

Подскажите как под Gentoo это работает? Тут есть параметр -R и я вот никак не могу разобраться в нем...

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "для начала под Gentoo Linux"  
Сообщение от Andrey Mitrofanov on 23-Апр-08, 10:51 
>Подскажите как под Gentoo это работает? Тут есть параметр -R и я
>вот никак не могу разобраться в нем...

А... кстати, `info coreutils sort` попробуйте -
http://www.gnu.org/software/coreutils/manual/html_node/sort-...

Чего не понятно-то?...

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "для начала под Gentoo Linux"  
Сообщение от GHopper email(ok) on 23-Апр-08, 12:37 
все понятно, вот только не удобно, что по хешу сортирует... получается, что каждый раз одинаковая сортировка одинаковых строк будет.

У меня тут по ходу другой вопрос возник:

#!/bin/sh
for i in `cat $1`
do
  echo $i
done

скриптец будет читать файл из параметра и выводить его содержимое в консоль. Как заставить его читать файл построчно, а не по словам?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "для начала под Gentoo Linux"  
Сообщение от Andrey Mitrofanov on 23-Апр-08, 12:43 
>все понятно, вот только не удобно, что по хешу сортирует... получается, что
>каждый раз одинаковая сортировка одинаковых строк будет.

Это неверно. Слова "случайная хешфункция, выбираемая каждый раз отдельно" не наводят на мысли?

>У меня тут по ходу другой вопрос возник:
>
>#!/bin/sh
>for i in `cat $1`
>do
>  echo $i
>done
>
>скриптец будет читать файл из параметра и выводить его содержимое в консоль.
>Как заставить его читать файл построчно, а не по словам?

while read str; do
  ...
  done <$1

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "для начала под Gentoo Linux"  
Сообщение от GHopper email(ok) on 23-Апр-08, 13:12 
почему тогда
ls -ls | sort -R
каждый раз выдает один и тот-же результат? Как добиться его случайной сортировки?

while read str - отличное решение для чтения строк, только вот как быть с последней строкой? Постоянно следить, чтобы была пустой?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "для начала под Gentoo Linux"  
Сообщение от Andrey Mitrofanov on 23-Апр-08, 14:38 
>почему тогда
>ls -ls | sort -R
>каждый раз выдает один и тот-же результат? Как добиться его случайной сортировки?

Не знаю. Проверить не могу - у меня coreutils старые. Может быть, /dev/urandom не работает, может, coreutils кривы сами по себе...
http://www.gnu.org/software/coreutils/manual/html_node/Rando...

>while read str - отличное решение для чтения строк, только вот как
>быть с последней строкой? Постоянно следить, чтобы была пустой?

Как вариант - да. Или вот:
$ echo -en "one\ntwo"|while read str || [ "$str" ] ; do echo $str; done
one
two
$ _

Какие ещё у Вас проблемы?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

10. "для начала под Gentoo Linux"  
Сообщение от angra (ok) on 23-Апр-08, 23:47 
>почему тогда
>ls -ls | sort -R
>каждый раз выдает один и тот-же результат? Как добиться его случайной сортировки?

У меня разный. Debian Lenny, sort (GNU coreutils) 6.10

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "сортировка строк"  
Сообщение от AMDmi3 (??) on 23-Апр-08, 23:10 
>Подскажите пожалуйсто как отсортировать случайнам образом строки в файле? Не могу разобраться

FreeBSD'шный sort случайно сортировать не умеет, посему можно сделать, скажем, так:

cat FILE | awk 'BEGIN{srand();}{printf("%08x%s\n", rand()*1024*1024*1024, $0);}' | sort | cut -b 9-

В srand можно подставить seed.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру