imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Программы и Операционные системы > Пингвинятник (ОС *NIX)
Опции темы
Старый 28.01.2005, 17:30     # 1
StRaNNiK
Member
 
Аватар для StRaNNiK
 
Регистрация: 08.06.2003
Адрес: Екатеринбург
Пол: Male
Сообщения: 254

StRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форуме
Помогите сделать такой скрипт на perl

Помогите плз сделать такой вот скрипт на perl.

Имеется текстовый файл. В нем много текста. Задача: запустить скрипт, который произведет фильтрацию. Фильтрация такая: если в строке встречается слово LINUX, то строчку пропускаем. если нет, то удаляем.
StRaNNiK вне форума  
Старый 28.01.2005, 17:38     # 2
Gike
сошел
 
Регистрация: 03.06.2002
Сообщения: 662

Gike Реально крут(а)Gike Реально крут(а)Gike Реально крут(а)Gike Реально крут(а)
Код:
open(file,"file.txt");
open(file_out,">new_file.txt");
while($str=Жfile>){
if($str=~/LINUX/){print file_out $str;}
}
close(file);
close(file_out);
вместо Ж надо <

Последний раз редактировалось Gike; 28.01.2005 в 18:19.
Gike вне форума  
Старый 28.01.2005, 17:56     # 3
Ghost
::VIP::
Звезда первого сезона
Молчун-2004
 
Аватар для Ghost
 
Регистрация: 24.08.2002
Сообщения: 1 575

Ghost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех Гуру
Gike
Что-то у меня твой скрипт выдает ошибку... Вот такой накатал, проверил - вроде работает...
Код:
open FILE, "file.txt";
my @indata = < FILE>;
close FILE;

open FILE, ">file.txt";
foreach (@indata) {
  print FILE $_ if $_ =~ /LINUX/;
}
close FILE;
Добавлено:
Gike, извини. Все работает. Просто скрипт форума немного накосячил в коде - отказался выводить FILE в угловых скобках после $str= у тебя, и @indata= - у меня.

З.Ы. Итить... Третий раз правлю...
__________________
Действовать надо тупо и это лучшее доказательство нашей чистоты и силы!

Последний раз редактировалось Ghost; 28.01.2005 в 18:42. Причина: склероZzz...
Ghost вне форума  
Старый 28.01.2005, 18:26     # 4
StRaNNiK
Member
 
Аватар для StRaNNiK
 
Регистрация: 08.06.2003
Адрес: Екатеринбург
Пол: Male
Сообщения: 254

StRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форуме
одна и таже ошибка в обоих скриптах
./script: line 1: syntax error near unexpected token `file,"qw.txt"'
./script: line 1: `open(file,"qw.txt");'
StRaNNiK вне форума  
Старый 28.01.2005, 18:39     # 5
Ghost
::VIP::
Звезда первого сезона
Молчун-2004
 
Аватар для Ghost
 
Регистрация: 24.08.2002
Сообщения: 1 575

Ghost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех Гуру
Просто Я
Эээ... У эти меня скрипты работают оба. Попробуй имя файла брать не в кавычки ("), а в апострофы ('). Или писать директивы open и close без скобок (хотя, какая, собственно, разница? ).
__________________
Действовать надо тупо и это лучшее доказательство нашей чистоты и силы!
Ghost вне форума  
Старый 28.01.2005, 18:58     # 6
StRaNNiK
Member
 
Аватар для StRaNNiK
 
Регистрация: 08.06.2003
Адрес: Екатеринбург
Пол: Male
Сообщения: 254

StRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форуме
блин.. что ж такое...
StRaNNiK вне форума  
Старый 28.01.2005, 19:13     # 7
Gike
сошел
 
Регистрация: 03.06.2002
Сообщения: 662

Gike Реально крут(а)Gike Реально крут(а)Gike Реально крут(а)Gike Реально крут(а)
извини за глупый вопрос но в начале ты приписал #/usr/bin/perl или как там у тебя на машине надо?
Gike вне форума  
Старый 28.01.2005, 19:13     # 8
StRaNNiK
Member
 
Аватар для StRaNNiK
 
Регистрация: 08.06.2003
Адрес: Екатеринбург
Пол: Male
Сообщения: 254

StRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форумеStRaNNiK Популярный человек на этом форуме
о, все
а теперь такая просьба а нельзя ли его переделать как-то, чтобы он проверял строку сразу на 2 слова. если одно из двух в строке имеется, то ее оставляем
StRaNNiK вне форума  
Старый 28.01.2005, 19:20     # 9
Ghost
::VIP::
Звезда первого сезона
Молчун-2004
 
Аватар для Ghost
 
Регистрация: 24.08.2002
Сообщения: 1 575

Ghost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех Гуру
Просто Я
Есессно, например:
Код:
print FILE $_ if $_ =~ /(LINUX)|(WINDOWS)/;
__________________
Действовать надо тупо и это лучшее доказательство нашей чистоты и силы!
Ghost вне форума  
Старый 28.01.2005, 22:00     # 10
rontommy
Добряк Модератор
ГлавБюстАтценка АН ИМХО.ВС
 
Аватар для rontommy
 
Регистрация: 14.10.2002
Адрес: Старый оценщик, НИИ ГлавБюстАтценка АН ИМХО.ВС
Пол: Male
Сообщения: 4 010

rontommy Гипербогrontommy Гипербогrontommy Гипербогrontommy Гипербогrontommy Гипербог
rontommy Гипербогrontommy Гипербогrontommy Гипербогrontommy Гипербогrontommy Гипербогrontommy Гипербогrontommy Гипербогrontommy Гипербогrontommy Гипербогrontommy Гипербогrontommy Гипербог
А я люблю использовать grep :

open FILE, "file.txt";
my @indata = grep( /(LINUX)|(WINDOWS)/, < FILE>);
close FILE;

open FILE, ">file.txt";
print FILE @indata;
close FILE;
__________________
Лень - это когда видишь необходимость что-то делать, но не хочется, а влом - это когда что-то хочется, но не видишь необходимости это делать.
rontommy вне форума  
Старый 29.01.2005, 12:14     # 11
Drakosha
Full Member
 
Аватар для Drakosha
 
Регистрация: 16.10.2002
Адрес: ArchLinux, Internet
Сообщения: 557

Drakosha Реально крут(а)Drakosha Реально крут(а)Drakosha Реально крут(а)Drakosha Реально крут(а)
если уж про grep:

$ grep LINUX our.file > /tmp/tmp.file
$ mv /tmp/tmp.file our.file
Drakosha вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 03:33.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.