Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   парсер ( поиск слова в файле ) (https://forum.antichat.xyz/showthread.php?t=47909)

Sharky 30.08.2007 01:40

парсер ( поиск слова в файле )
 
Нужен скрипт который будет искать заданное слово в файле .а в итоге показывал сколько раз это слово встретилось в файле.

желательно пример и на perl и на php

Piflit 30.08.2007 01:48

Текстовой файл?

A110ut 30.08.2007 02:08

Sharky, в гугле сорцев с примерами вагон и маленькая тележка

Piflit, гениально. наверное в случае положительного ответа нужно будет "открыть файл блокнотом, нажать ктрл+ф и считать"

Piflit 30.08.2007 02:26

Цитата:

Сообщение от A110ut
Piflit, гениально. наверное в случае положительного ответа нужно будет "открыть файл блокнотом, нажать ктрл+ф и считать"

При чем тут это? Может ему надо в бинарнике сигнатуры искать. Я просто уточнил=\

demonoid 30.08.2007 02:29

пример
 
В случае с текстовым файлом
Код:

#!/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 - й строке .

Sharky 30.08.2007 11:27

спасибо...то что надо =) а можно ещё на php тоже самое?

vizard-06 30.08.2007 11:30

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;
?>


Sharky 30.08.2007 11:58

вроде оно..во всяком случае держи +

NOmeR1 30.08.2007 17:35

Если нужно просто сосчитать кол-во каких-то слов в файле, то можно просто использовать substr_count.
PHP код:

<?
$file  
'файл.txt';
$slovo 'слово или текст, который мы ищем';
$text  file_get_contents($file);
echo 
substr_count($text,$slovo);
?>



Время: 17:06