Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.06.2012, 16:43   #1
netname
 
Регистрация: 07.06.2012
Сообщений: 5
Радость сортировка в Perl или shell

не знаю в какую тему отнести, поэтому написал сюда
скажите пожалуйста как изменить текст следующего вида:

aaa aaa aaa
bbb bbbbb bbbb bbbb
cccc cc cccc

dddd ddddd ddddd dddd
ee eeee eeeee eeee eeee

ff fffffff ffffff ff
gggg gggg ggggg
hh hhh hhhhhh hhhhhh

в следующий вид:
aaa aaa aaa bbb bbbbb bbbb bbbb cccc cc cccc
dddd ddddd ddddd dddd ee eeee eeeee eeee eeee
ff fffffff ffffff ff gggg gggg ggggg hh hhh hhhhhh hhhhhh

т.е. соединить в одну строчку каждый абзац

как такое можно сделать?
netname вне форума Ответить с цитированием
Старый 07.06.2012, 16:52   #2
Mr_ViK
Форумчанин
 
Регистрация: 12.08.2011
Сообщений: 124
По умолчанию

Не знаю языков, о которых вы написали в теме, но мое предложение читать текст построчно, хотя это должно быть файлом
Mr_ViK вне форума Ответить с цитированием
Старый 07.06.2012, 16:54   #3
netname
 
Регистрация: 07.06.2012
Сообщений: 5
По умолчанию

Цитата:
Сообщение от Mr_ViK Посмотреть сообщение
Не знаю языков, о которых вы написали в теме, но мое предложение читать текст построчно, хотя это должно быть файлом
вообще есть фаил многомегабайтный такого текста ( т.е. там осмысленый текст, тут я просто пример привел) который нужно переработать
мне бы скрипт такого вида: тратата < text.txt > out.txt

вообще не важно на каком языке
netname вне форума Ответить с цитированием
Старый 07.06.2012, 17:08   #4
Mr_ViK
Форумчанин
 
Регистрация: 12.08.2011
Сообщений: 124
По умолчанию

Допустим:
PHP код:
$file="text.txt";
$file2="out.txt";

function 
wr($text){
$f2=fopen($file2"a+");
fwrite($f2$text);
fclose($f2);
}

$f=fopen($file,"r");

while (
$str=fgets($f1024) !== false){ //здесь 1024 - максимальная длинна строки в символах
  
$str=trim($str);
  if(
$str==""wr("\n");
  else 
wr($str");
}

fclose($f); 
это так на скорую руку, надо проверять

Последний раз редактировалось Mr_ViK; 07.06.2012 в 17:18.
Mr_ViK вне форума Ответить с цитированием
Старый 07.06.2012, 17:37   #5
netname
 
Регистрация: 07.06.2012
Сообщений: 5
По умолчанию

добавил
<?php
....
?>
запускаю так php 1.php
секунд пять ждет но out.txt не появляется
netname вне форума Ответить с цитированием
Старый 07.06.2012, 17:47   #6
Mr_ViK
Форумчанин
 
Регистрация: 12.08.2011
Сообщений: 124
По умолчанию

А вот тут глюк функции, та же история, файл не появляется-_ -
Создай его сам и права 666 поставь
Mr_ViK вне форума Ответить с цитированием
Старый 07.06.2012, 18:19   #7
netname
 
Регистрация: 07.06.2012
Сообщений: 5
По умолчанию

Warning: fopen(): Filename cannot be empty in /usr/home/user/1.php on line 6

Warning: fwrite() expects parameter 1 to be resource, boolean given in /usr/home/user/1.php on line 7

Warning: fclose() expects parameter 1 to be resource, boolean given in /usr/home/user/1.php on line 8

Warning: fopen(): Filename cannot be empty in /usr/home/user/1.php on line 6

Warning: fwrite() expects parameter 1 to be resource, boolean given in /usr/home/user/1.php on line 7

Warning: fclose() expects parameter 1 to be resource, boolean given in /usr/home/user/1.php on line 8

Warning: fopen(): Filename cannot be empty in /usr/home/user/1.php on line 6

Warning: fwrite() expects parameter 1 to be resource, boolean given in /usr/home/user/1.php on line 7

Warning: fclose() expects parameter 1 to be resource, boolean given in /usr/home/user/1.php on line 8

Warning: fopen(): Filename cannot be empty in /usr/home/user/1.php on line 6

Warning: fwrite() expects parameter 1 to be resource, boolean given in /usr/home/user/1.php on line 7

Warning: fclose() expects parameter 1 to be resource, boolean given in /usr/home/user/1.php on line 8

Warning: fopen(): Filename cannot be empty in /usr/home/user/1.php on line 6
netname вне форума Ответить с цитированием
Старый 07.06.2012, 20:48   #8
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Простейшим решением с моей точки зрения, будет что-то вроде:
Код:
#!/bin/sh

while read line
do
  if [ -n "$line" ]; then
    echo -n "$line "
  else 
    echo
  fi
done
Но в конце каждого обрыва строки будет по пробелу. Если это играет роль, то несложно будет от него избавиться
netrino вне форума Ответить с цитированием
Старый 08.06.2012, 09:01   #9
Mr_ViK
Форумчанин
 
Регистрация: 12.08.2011
Сообщений: 124
По умолчанию

Цитата:
Сообщение от netname Посмотреть сообщение
Warning: fopen(): Filename cannot be empty in /usr/home/user/1.php on line 6

Warning: fwrite() expects parameter 1 to be resource, boolean given in /usr/home/user/1.php on line 7

Warning: fclose() expects parameter 1 to be resource, boolean given in /usr/home/user/1.php on line 8

Warning: fopen(): Filename cannot be empty in /usr/home/user/1.php on line 6

Warning: fwrite() expects parameter 1 to be resource, boolean given in /usr/home/user/1.php on line 7

Warning: fclose() expects parameter 1 to be resource, boolean given in /usr/home/user/1.php on line 8

Warning: fopen(): Filename cannot be empty in /usr/home/user/1.php on line 6

Warning: fwrite() expects parameter 1 to be resource, boolean given in /usr/home/user/1.php on line 7

Warning: fclose() expects parameter 1 to be resource, boolean given in /usr/home/user/1.php on line 8

Warning: fopen(): Filename cannot be empty in /usr/home/user/1.php on line 6

Warning: fwrite() expects parameter 1 to be resource, boolean given in /usr/home/user/1.php on line 7

Warning: fclose() expects parameter 1 to be resource, boolean given in /usr/home/user/1.php on line 8

Warning: fopen(): Filename cannot be empty in /usr/home/user/1.php on line 6
Что-то с файлом, не находит, или еще что-то. Говорю пример сырой, надо дорабатывать.
Mr_ViK вне форума Ответить с цитированием
Старый 11.07.2012, 12:15   #10
ssdm
Форумчанин
 
Регистрация: 20.05.2009
Сообщений: 506
По умолчанию

http://perldoc.perl.org/functions/sort.html
open (MYFILE, '<input_file.txt');
my @data = <MYFILE>;
my @strings = sort {$a cmp $b} @data;
@strings - массив упорядоченных строк
ssdm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
perl или c++? httpdG Perl 11 24.10.2011 22:16
SGI скрипт на perl или php Frosts PHP 2 23.03.2011 20:57
что перспективнее, perl или php? dexter182 PHP 6 28.05.2009 11:51