The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Помогите написать скриптик!, !*! Laska, 27-Июн-05, 22:32  [смотреть все]
Всем привет!
помогите написать скриптик...
Есть один большой текстовый файл.
вида

HEADER_WORD
La-la-la
lal-la-la
.
HEADER_WORD
la -ka la
bla bla bla
.
HEADER_WORD
bla bla lbla
bla blalb
.
...

То есть сначала идет HEADER_WORD, потом несколько строк текста, потом строка из точки.
Задача: разложить этот файл на кучу маленьких.
Первый файл должен содержать:
HEADER_WORD
La-la-la
lal-la-la
.
Второй:
HEADER_WORD
la -ka la
bla bla bla
.

Ну и так далее. Именоваться - как угодно 1, 2, 3 например и тп.
Подскажите, как это сделать попроще и побыстрее, на шелле или перле или еще как...
СПАСИБО ОГРОМНОЕ!

  • Помогите написать скриптик!, !*! allez, 08:45 , 28-Июн-05 (1)
    Вот пример на shell. Имя исходного текстового файла
    указывается как аргумент.
    ==================================================
    #!/bin/bash
    # Syntax: ./script.sh <filename>

    FILENUM=0
    HEADER="HEADER_WORD"

    while read LINE;
    do
      if [ "`echo $LINE | grep $HEADER`" != "" ];
      then
        ((FILENUM++))
      fi
      echo $LINE >> $FILENUM.txt
    done<$1
    ==================================================

  • Помогите написать скриптик!, !*! knsi, 08:46 , 28-Июн-05 (2)
    >Всем привет!
    >помогите написать скриптик...
    >Есть один большой текстовый файл.
    >вида
    Вот на псевдо языке

    k='0';
    for(;string=getline();)
    {
    if(!strcmp(string,HEADER_WORD))
    {
    k++;
    strcpy(file,k);
    strcat(file,".txt");
    }
    string>>file;
    }


    • Помогите написать скриптик!, !*! vlad1965, 09:54 , 28-Июн-05 (3)
      >>Всем привет!
      >>помогите написать скриптик...
      >>Есть один большой текстовый файл.
      >>вида
      Вот попробуй.

      #!/usr/bin/perl
      #
      $i=0;
      open(F1,@ARGV[0]) || die ("Can't open file)!\n");
      while ($str=<F1>)
      {
        chomp ($str);
        if ($str eq @ARGV[1])
          {
            close(F2);
            $i+=1;
            $s=$str.$i;
            open(F2,">$s");
            print "$s","\n";
        }
        print F2 "$str","\n";
      };
      close(F1);

      ./prg.pl file.name HEADER_WORD




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру