1. PHP / Говнокод #6087

    +159

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    <?php
    $z=0;
    $ti=0;
    $ti2=0;
    
    $res=array();
    $txt="";
    $res=array();
    if($argc<2)exit(0);
    $fn=$argv[1];
    $pt='/(^|\b|\s)((\w|[а-я]|\d)+(?:\.|\,)?)(\b|\.|,|-)/i';
    if(isset($fn)){
    $fc=file($fn);
    foreach($fc as $nl=>$str){
    preg_match_all($pt,$str,$res,PREG_PATTERN_ORDER);
    foreach($res[0] as $key=>$per){
     # $per=trim($per);
    $sz=iconv_strlen($per);
    $tz=iconv_strlen($per);
    echo "Per $per key $key sz $sz\n";
    
    while($sz>=2){ 
     $eb = substr($per,0,$sz-1);
    echo "eb $eb\n";
    $res=system("cat -b dict.txt | grep ' ".$eb." ' | head -n1 | gawk '{ print $1 }'");
    #echo "$res\n";
    if($res!=""){
    echo "res $res\n";
    $oc=substr($per,$sz-1,$tz); 
    $fd=fopen("$argv[1].txt","a");
    if($fd<0){echo "fopen";exit(0);};
      fseek($fd,SEEK_END,0);
    fwrite($fd,"$res$oc ");
    
    fclose($fd);
    $sz=1;
    sleep(3);
    };
      $sz--;
    };
    if($sz==1){
    
    $fd=fopen("$argv[1].txt","a");
    if($fd<0){echo "fopen";exit(0);};
      fseek($fd,SEEK_END,0);
      fwrite($fd,"$per ");
      fclose($fd);
    };
    
    };
    };
    $str="";
    $res="";
    }
    ?>

    Замена слова кодом из словаря, по номеру слова в словаре.

    Запостил: AliceGoth, 25 Марта 2011

    Комментарии (7) RSS

    • Сапог-полено! Где все отступы?
      Ответить
    • gawk { print $1 } после grep уже не первый раз попадается в разных источниках... интересно откуда они копируют :)
      Ответить
      • Я книги по bashу читал.
        Ответить
        • А при чем тут bash? bash и awk - это разные языки... кроме того, ну, как бы очевидно, что шелл может быть и не bash'ем вообще, а например sh или ksh, вобщем, что определено в $SHELL, то и будет. Бессмысленность данной команды в том, что awk сам по себе справился бы с задачей, вместо того, чтобы вызывать 100500 утилит для того, чтобы применить одно регулярное выражение к файлу...
          Ответить
    • bash.org.ru/abyssbest/164647
      Ответить

    Добавить комментарий