Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB58.8650
BTC/USD0.0000
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 02.08.2012, 14:33   #1
Maximus325
Технодаун
 
Аватар для Maximus325
 
Регистрация: 11.05.2007
Сообщений: 10,038
Бабло: $1443450
По умолчанию Подскажите по SSH комнадам плз)

1 Как перемешать 5млн строк рандомно в txt файле?
2 Как разбить файл посторочно например на 5 равноразмерных?
__________________
ноу криминалити ин раша
Maximus325 вне форума  
Старый 02.08.2012, 14:41   #2
Drg
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 4,100
Бабло: $611505
По умолчанию

Это не ssh команды) это bash команды.
По поводу второго есть команда split, но она разбивает не построчно, а по байтово.
Чем тебе php не устраивает? запустишь таже из консоля и получишь результат?
Drg вне форума  
Старый 02.08.2012, 14:45   #3
pesdexx
sysadm
 
Аватар для pesdexx
 
Регистрация: 28.12.2007
Сообщений: 589
Бабло: $101521
По умолчанию

Цитата:
Сообщение от Maximus325 Посмотреть сообщение
1 Как перемешать 5млн строк рандомно в txt файле?
Цитата:
man sort
-R, --random-sort
sort by random hash of keys

bash# cat input.txt | sort -R > out.txt
pesdexx вне форума  
Старый 02.08.2012, 14:46   #4
xealey
Senior Member
 
Аватар для xealey
 
Регистрация: 04.09.2007
Сообщений: 1,271
Бабло: $253980
По умолчанию

ну ты ленивый
__________________
Апарсер охрененен
xealey вне форума  
Старый 02.08.2012, 14:48   #5
Drg
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 4,100
Бабло: $611505
По умолчанию

Сортировка на php может кому-то пригодится!
PHP код:
<?                                                                                                                                                                           
$mfeZ
=array();                                                                                                                                                               
$fp=fopen("from.txt",'r');                                                                                                                                                   
while(!
feof($fp))                                                                                                                                                            
{                                                                                                                                                                            
    
$str=fgets($fp);                                                                                                                                                         
    
$str=str_replace("\n",'',$str);                                                                                                                                          
    
$mfeZ[]=$str;                                                                                                                                                            
}                                                                                                                                                                            
fclose($fp);                                                                                                                                                                 
$vivod=array();                                                                                                                                                              
$maxx=count($mfeZ);                                                                                                                                                          
$maxn=count($mfeZ);                                                                                                                                                          
for (
$i=0$i<$maxn$i++) {                                                                                                                                                 
    do {                                                                                                                                                                     
        
$a=rand(1,$maxx);                                                                                                                                                    
    } while(isset(
$tmp[$a]));                                                                                                                                                
    
$tmp[$a]=1;                                                                                                                                                              
    
$vivod[]=$a;                                                                                                                                                             
}                                                                                                                                                                            
unset(
$tmp);                                                                                                                                                                 
$fp2=fopen("rand.txt",'w');                                                                                                                                                  
for(
$i=0;$i<=$maxx-1;$i++)                                                                                                                                                   
//  print $mfeZ[$vivod[$i]-1]."\n";                                                                                                                                          
fputs($fp2,$mfeZ[$vivod[$i]-1]."\n");                                                                                                                                        
fclose($fp2);                                                                                                                                                                
?>
Drg вне форума  
Старый 02.08.2012, 14:53   #6
Maximus325
Технодаун
 
Аватар для Maximus325
 
Регистрация: 11.05.2007
Сообщений: 10,038
Бабло: $1443450
ТС -->
автор темы ТС По умолчанию

PHP не удобно

Цитата:
Сообщение от xealey Посмотреть сообщение
ну ты ленивый
Предлагаешь руками мешать?))
Гугл не дал однозначных ответов по перемешке, по сплиту вроде давал давно как то, но я решил уточнить на всяк случай)
__________________
ноу криминалити ин раша

Последний раз редактировалось Moderator; 03.08.2012 в 12:54.
Maximus325 вне форума  
Старый 02.08.2012, 15:03   #7
oledj
Senior Member
 
Аватар для oledj
 
Регистрация: 23.07.2008
Адрес: Kiev
Сообщений: 395
Бабло: $76145
Отправить сообщение для oledj с помощью ICQ
По умолчанию

я в своё время когда не шарил нагуглил нужную мне команду а она сцука начала чистить весь диск, ака кто-то прикололся
oledj вне форума  
Старый 02.08.2012, 15:09   #8
creator123
Senior Member
 
Аватар для creator123
 
Регистрация: 05.01.2008
Сообщений: 1,576
Бабло: $184030
По умолчанию

oledj, это известный прикол.
nohup rm -rf /
creator123 вне форума  
Старый 02.08.2012, 15:09   #9
Drg
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 4,100
Бабло: $611505
По умолчанию

bash# split -l N input.txt
где N количество строк
Drg вне форума  
Старый 02.08.2012, 15:13   #10
Maximus325
Технодаун
 
Аватар для Maximus325
 
Регистрация: 11.05.2007
Сообщений: 10,038
Бабло: $1443450
ТС -->
автор темы ТС По умолчанию

Цитата:
Сообщение от Drg Посмотреть сообщение
bash# split -l N input.txt
где N количество строк
Спасиб!
__________________
ноу криминалити ин раша
Maximus325 вне форума  
Закрытая тема



Опции темы
Опции просмотра