The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Помогите написать скриптик!"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Помогите написать скриптик!" 
Сообщение от Laska Искать по авторуВ закладки on 27-Июн-05, 22:32  (MSK)
Всем привет!
помогите написать скриптик...
Есть один большой текстовый файл.
вида

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 например и тп.
Подскажите, как это сделать попроще и побыстрее, на шелле или перле или еще как...
СПАСИБО ОГРОМНОЕ!

  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Помогите написать скриптик!" 
Сообщение от allez Искать по авторуВ закладки(ok) on 28-Июн-05, 08:45  (MSK)
Вот пример на 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
==================================================

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

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

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


  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

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

#!/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

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ]
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




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

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