The OpenNET Project / Index page

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



Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

BASH. Как читать файл построчно?, teebot (?), 03-Фев-03, (0) [смотреть все]

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


1. "RE: BASH. Как читать файл построчно?"  +/
Сообщение от zlinuxanemail (?), 03-Фев-03, 18:04 
Попробуй делать тож'самое на перле.
Синтаксис почти один в один и есть такая штука, как split, с которой ты хоть пробелы в плюсики, хоть наоборот можешь вертеть %)

Кстати, слышал слух, что в линухах могут вообще shell сотоварищи заменить перлом.
Во как!

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

2. "RE: BASH. Как читать файл построчно?"  +/
Сообщение от teebot (?), 03-Фев-03, 18:22 
>Попробуй делать тож'самое на перле.
>Синтаксис почти один в один и есть такая штука, как split, с
>которой ты хоть пробелы в плюсики, хоть наоборот можешь вертеть %)
>
>
>Кстати, слышал слух, что в линухах могут вообще shell сотоварищи заменить перлом.
>
>Во как!

Ты знанешь пробовал, но там другая проблема (а может вовсе и не проблема) мне надо вызвать скрипт.
прога такая:
open (FILE, "имя_файла");
@lines=<FILE>;
close (FILE);
$kol=@lines;
for ($i=0;$i<$kol;i++)
{
  #тут вызывается скрипт которому передается результат чтения файла - строка
}
так вот сколько бы повторов не было, цикл вываливается после первого.

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

3. "RE: BASH. Как читать файл построчно?"  +/
Сообщение от hellmanemail (?), 03-Фев-03, 18:31 
>>Попробуй делать тож'самое на перле.
>>Синтаксис почти один в один и есть такая штука, как split, с
>>которой ты хоть пробелы в плюсики, хоть наоборот можешь вертеть %)
>>
>>
>>Кстати, слышал слух, что в линухах могут вообще shell сотоварищи заменить перлом.
>>
>>Во как!
>
>Ты знанешь пробовал, но там другая проблема (а может вовсе и не
>проблема) мне надо вызвать скрипт.
>прога такая:
>open (FILE, "имя_файла");
>@lines=<FILE>;
>close (FILE);
>$kol=@lines;
>for ($i=0;$i<$kol;i++)
>{
>  #тут вызывается скрипт которому передается результат чтения файла - строка
>
>}
>так вот сколько бы повторов не было, цикл вываливается после первого.

не знаю почему может вываливаться, но помоему свот такой код приятней.
open(FILE, "< /tmp/file");
foreach my $line (<FILE>) {
&some_sub($line);
}
close(FILE);

ну или
open(FILE, "< /tmp/file");
my @file = <FILE>;
close(FILE);
foreach my $line (@file) {
&some_sub($line);
}


где ессесно функция some_sub что то делает со строкой.


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

4. "RE: BASH. Как читать файл построчно?"  +/
Сообщение от teebot (?), 03-Фев-03, 18:58 
>>>Попробуй делать тож'самое на перле.
>>>Синтаксис почти один в один и есть такая штука, как split, с
>>>которой ты хоть пробелы в плюсики, хоть наоборот можешь вертеть %)
>>>
>>>
>>>Кстати, слышал слух, что в линухах могут вообще shell сотоварищи заменить перлом.
>>>
>>>Во как!
>>
>>Ты знанешь пробовал, но там другая проблема (а может вовсе и не
>>проблема) мне надо вызвать скрипт.
>>прога такая:
>>open (FILE, "имя_файла");
>>@lines=<FILE>;
>>close (FILE);
>>$kol=@lines;
>>for ($i=0;$i<$kol;i++)
>>{
>>  #тут вызывается скрипт которому передается результат чтения файла - строка
>>
>>}
>>так вот сколько бы повторов не было, цикл вываливается после первого.
>
>не знаю почему может вываливаться, но помоему свот такой код приятней.
>open(FILE, "< /tmp/file");
>foreach my $line (<FILE>) {
> &some_sub($line);
>}
>close(FILE);
>
>ну или
>open(FILE, "< /tmp/file");
>my @file = <FILE>;
>close(FILE);
>foreach my $line (@file) {
> &some_sub($line);
>}
>
>
>где ессесно функция some_sub что то делает со строкой.

что самое интересное нужно вызывать не перловскую процедуру, а BASH скрипт корорый написан до меня.
делаю exec "путь_и_имя_скрипта";
он отрабатывает, а цикл уже не продолжается.

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

5. "RE: BASH. Как читать файл построчно?"  +/
Сообщение от zlinuxanemail (?), 04-Фев-03, 04:11 

>что самое интересное нужно вызывать не перловскую процедуру, а BASH скрипт корорый
>написан до меня.
>делаю exec "путь_и_имя_скрипта";
>он отрабатывает, а цикл уже не продолжается.
Так вызывай его в цикле типа вообще тупого
my $x=1;
       while ($x){
         exec_до _посинения;
                  }

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

6. "RE: BASH. Как читать файл построчно?"  +/
Сообщение от teebot (?), 04-Фев-03, 09:52 
>
>>что самое интересное нужно вызывать не перловскую процедуру, а BASH скрипт корорый
>>написан до меня.
>>делаю exec "путь_и_имя_скрипта";
>>он отрабатывает, а цикл уже не продолжается.
>Так вызывай его в цикле типа вообще тупого
> my $x=1;
>       while ($x){
>         exec_до _посинения;
>            
>      }

Спасибо за совет, но задача состоит из двух частей.
1) Читать из файла построчно
2) Прочитанное передавать BASH скрипту.

зачем же мне бесконечный while если нужно ровно столько сколько строк в файле.

Видимо надо иначе подойти к решению проблемы. Наверное я выбрал не самы лучший алгоритм.

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

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

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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