- RE: BASH. Как читать файл построчно?,
zlinuxan, 18:04 , 03-Фев-03 (1)Попробуй делать тож'самое на перле. Синтаксис почти один в один и есть такая штука, как split, с которой ты хоть пробелы в плюсики, хоть наоборот можешь вертеть %)Кстати, слышал слух, что в линухах могут вообще shell сотоварищи заменить перлом. Во как!
- RE: BASH. Как читать файл построчно?,
teebot, 18:22 , 03-Фев-03 (2)>Попробуй делать тож'самое на перле. >Синтаксис почти один в один и есть такая штука, как split, с >которой ты хоть пробелы в плюсики, хоть наоборот можешь вертеть %) > > >Кстати, слышал слух, что в линухах могут вообще shell сотоварищи заменить перлом. > >Во как! Ты знанешь пробовал, но там другая проблема (а может вовсе и не проблема) мне надо вызвать скрипт. прога такая: open (FILE, "имя_файла"); @lines=<FILE>; close (FILE); $kol=@lines; for ($i=0;$i<$kol;i++) { #тут вызывается скрипт которому передается результат чтения файла - строка } так вот сколько бы повторов не было, цикл вываливается после первого.
- RE: BASH. Как читать файл построчно?,
hellman, 18:31 , 03-Фев-03 (3)>>Попробуй делать тож'самое на перле. >>Синтаксис почти один в один и есть такая штука, как 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 что то делает со строкой.
- RE: BASH. Как читать файл построчно?,
teebot, 18:58 , 03-Фев-03 (4)>>>Попробуй делать тож'самое на перле. >>>Синтаксис почти один в один и есть такая штука, как 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 "путь_и_имя_скрипта"; он отрабатывает, а цикл уже не продолжается.
- RE: BASH. Как читать файл построчно?,
zlinuxan, 04:11 , 04-Фев-03 (5) >что самое интересное нужно вызывать не перловскую процедуру, а BASH скрипт корорый >написан до меня. >делаю exec "путь_и_имя_скрипта"; >он отрабатывает, а цикл уже не продолжается. Так вызывай его в цикле типа вообще тупого my $x=1; while ($x){ exec_до _посинения; }
- RE: BASH. Как читать файл построчно?,
teebot, 09:52 , 04-Фев-03 (6)> >>что самое интересное нужно вызывать не перловскую процедуру, а BASH скрипт корорый >>написан до меня. >>делаю exec "путь_и_имя_скрипта"; >>он отрабатывает, а цикл уже не продолжается. >Так вызывай его в цикле типа вообще тупого > my $x=1; > while ($x){ > exec_до _посинения; > > } Спасибо за совет, но задача состоит из двух частей. 1) Читать из файла построчно 2) Прочитанное передавать BASH скрипту. зачем же мне бесконечный while если нужно ровно столько сколько строк в файле. Видимо надо иначе подойти к решению проблемы. Наверное я выбрал не самы лучший алгоритм.
- RE: BASH. Как читать файл построчно?,
uldus, 14:07 , 04-Фев-03 (7)>Появилась необходимость читать содержимое файла построчно. cat file.txt| while read line; do echo "$line" done
- RE: BASH. Как читать файл построчно?,
spf, 20:24 , 04-Фев-03 (8)>>Появилась необходимость читать содержимое файла построчно. > >cat file.txt| while read line; do > echo "$line" >done Если хотим сэкономить на один процесс (cat) в ущерб читабельности, то while read line do echo "$line" done < file.txt
|