Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
парсер ( поиск слова в файле ) |

30.08.2007, 01:40
|
|
Познавший АНТИЧАТ
Регистрация: 01.05.2006
Сообщений: 1,021
Провел на форуме: 3424739
Репутация:
921
|
|
парсер ( поиск слова в файле )
Нужен скрипт который будет искать заданное слово в файле .а в итоге показывал сколько раз это слово встретилось в файле.
желательно пример и на perl и на php
|
|
|

30.08.2007, 01:48
|
|
Banned
Регистрация: 11.08.2006
Сообщений: 1,522
Провел на форуме: 5128756
Репутация:
2032
|
|
Текстовой файл?
|
|
|

30.08.2007, 02:08
|
|
Постоянный
Регистрация: 31.12.2005
Сообщений: 605
Провел на форуме: 4349433
Репутация:
661
|
|
Sharky, в гугле сорцев с примерами вагон и маленькая тележка
Piflit, гениально. наверное в случае положительного ответа нужно будет "открыть файл блокнотом, нажать ктрл+ф и считать"
|
|
|

30.08.2007, 02:26
|
|
Banned
Регистрация: 11.08.2006
Сообщений: 1,522
Провел на форуме: 5128756
Репутация:
2032
|
|
Сообщение от A110ut
Piflit, гениально. наверное в случае положительного ответа нужно будет "открыть файл блокнотом, нажать ктрл+ф и считать"
При чем тут это? Может ему надо в бинарнике сигнатуры искать. Я просто уточнил=\
|
|
|

30.08.2007, 02:29
|
|
Banned
Регистрация: 12.01.2007
Сообщений: 113
Провел на форуме: 4094601
Репутация:
495
|
|
пример
В случае с текстовым файлом
Код:
#!/usr/bin/perl
#
#[30.08.2007] : [1:21]
use strict;
use warnings;
(@ARGV<1)?&baner:1;
open my $file, "<", $ARGV[0] or fatal_error("Can\'t open $ARGV[0]");
my $count = 0;
my $curr_word = undef;
foreach $curr_word (<$file>)
{
chomp($curr_word);
if($curr_word=~/Sharky/m )
{
$count++;
}
}
printf "The word is found %2d time \n",$count;
sub baner
{
print "\t\tusage : $0 <file>\n\t\texample : $0 file.txt \n";
exit;
}
sub fatal_error
{
my @buf = @_;
printf "ERROR : %s \n",@buf;
exit;
}
Если тебе нужно точное соответствие слова , измени регулярное выражение в 17 - й строке .
Последний раз редактировалось demonoid; 30.08.2007 в 02:41..
|
|
|

30.08.2007, 11:27
|
|
Познавший АНТИЧАТ
Регистрация: 01.05.2006
Сообщений: 1,021
Провел на форуме: 3424739
Репутация:
921
|
|
спасибо...то что надо =) а можно ещё на php тоже самое?
|
|
|

30.08.2007, 11:30
|
|
Познающий
Регистрация: 06.12.2006
Сообщений: 57
Провел на форуме: 418176
Репутация:
31
|
|
PHP код:
<?
$s='bla';
$fil=file_get_contents('1.txt');
$fil=str_replace("\r\n","",$fil);
$k=preg_match_all("/$s/i",$fil,$serch);
echo $k;
?>
|
|
|

30.08.2007, 11:58
|
|
Познавший АНТИЧАТ
Регистрация: 01.05.2006
Сообщений: 1,021
Провел на форуме: 3424739
Репутация:
921
|
|
вроде оно..во всяком случае держи +
|
|
|

30.08.2007, 17:35
|
|
Познавший АНТИЧАТ
Регистрация: 02.06.2006
Сообщений: 1,188
Провел на форуме: 6023777
Репутация:
2642
|
|
Если нужно просто сосчитать кол-во каких-то слов в файле, то можно просто использовать substr_count.
PHP код:
<?
$file = 'файл.txt';
$slovo = 'слово или текст, который мы ищем';
$text = file_get_contents($file);
echo substr_count($text,$slovo);
?>
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|