The OpenNET Project / Index page

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

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

"помогить пожалуйста разобрать файл" 
Сообщение от Xelas Искать по авторуВ закладки on 19-Май-05, 12:47  (MSK)
есть файлик, лежит по известному пути, газвание известно, содержание файла


bla-bla-bla
bla-bla-bla
bla-bla-bla
NAME=Alex
bla-bla-bla


как вытащить Alex(там может быть что-то другое) и потом поместить в такой же файл с таким же параметром, лежащий по другому известному пути

хотелось бы услышать примерный ответ, и/или места где можно научиться разгребать файлы...
идеальный вариант скрипт и ссылки
заранее спасибо... учусь...

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

 Оглавление

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

1. "помогить пожалуйста разобрать файл" 
Сообщение от konst emailИскать по авторуВ закладки(??) on 19-Май-05, 15:11  (MSK)
>есть файлик, лежит по известному пути, газвание известно, содержание файла
>
>
>bla-bla-bla
>bla-bla-bla
>bla-bla-bla
>NAME=Alex
>bla-bla-bla
>
>
>как вытащить Alex(там может быть что-то другое) и потом поместить в такой
>же файл с таким же параметром, лежащий по другому известному пути
>
>
>хотелось бы услышать примерный ответ, и/или места где можно научиться разгребать файлы...
>
>идеальный вариант скрипт и ссылки
>заранее спасибо... учусь...
#!/bin/sh
dir1="/path_1/to/file"
dir2="/path_2/to/file"
fn="filename"
cat $dir1/$fn | grep -i NAME > $dir2/fn
######### or #######
cat $dir1/$fn | perl -ne 's/NAME=// && print;' > $dir2/fn
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "помогить пожалуйста разобрать файл" 
Сообщение от Xelas Искать по авторуВ закладки on 19-Май-05, 16:16  (MSK)

>#!/bin/sh
>dir1="/path_1/to/file"
>dir2="/path_2/to/file"
>fn="filename"
>cat $dir1/$fn | grep -i NAME > $dir2/fn
>######### or #######
>cat $dir1/$fn | perl -ne 's/NAME=// && print;' > $dir2/fn
>


гранд мерси дальше сам додумаю, я немножко неправильно задачу описал ;-))
ещё бы пару ссылочек где поучиЦЦа

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

4. "помогить пожалуйста разобрать файл" 
Сообщение от konst emailИскать по авторуВ закладки(ok) on 19-Май-05, 16:27  (MSK)
>
>>#!/bin/sh
>>dir1="/path_1/to/file"
>>dir2="/path_2/to/file"
>>fn="filename"
>>cat $dir1/$fn | grep -i NAME > $dir2/fn
>>######### or #######
>>cat $dir1/$fn | perl -ne 's/NAME=// && print;' > $dir2/fn
>>
>
>
>гранд мерси дальше сам додумаю, я немножко неправильно задачу описал ;-))
>ещё бы пару ссылочек где поучиЦЦа
Для решения подобных задач можно использовать любой язык програмирования. Наиболее простые решения предлагает shell и perl.
Можно на этом сайте в разделе документации поискать  (про shell) или в google


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

3. "помогить пожалуйста разобрать файл" 
Сообщение от Brainbug Искать по авторуВ закладки(ok) on 19-Май-05, 16:24  (MSK)
>есть файлик, лежит по известному пути, газвание известно, содержание файла
>
>
>bla-bla-bla
>bla-bla-bla
>bla-bla-bla
>NAME=Alex
>bla-bla-bla
>
>
>как вытащить Alex(там может быть что-то другое) и потом поместить в такой
>же файл с таким же параметром, лежащий по другому известному пути
>
>
>хотелось бы услышать примерный ответ, и/или места где можно научиться разгребать файлы...
>
>идеальный вариант скрипт и ссылки
>заранее спасибо... учусь...

[juris@test perl]$ cat 0002.pl
#!/usr/bin/perl -w

use strict;
use warnings;

my $if=$ARGV[0];
my $of=$ARGV[1];
my $param=$ARGV[2];
my $value=$ARGV[3];
my $output;

open IFH,$if or die "Can't open $if file";
open OFH,">>",$of or die "Cna't open $of file";
while (<IFH>){
        if (/^$param=$value$/){
                $output=$_;
                print OFH $output;
        }
}
close OFH;
close IFH;
[juris@test perl]$ cat 1
bla-bla-bla
bla-bla-bla
bla-bla-bla
NAME=Alex
bla-bla-bla
bla-bla-bla
bla-bla-bla
TEST=Juris
[juris@test perl]$ cat 2
[juris@test perl]$ ./0002.pl 1 2 NAME Alex
[juris@test perl]$ cat 2
NAME=Alex
[juris@test perl]$ ./0002.pl 1 2 TEST Juris
[juris@test perl]$ cat 2
NAME=Alex
TEST=Juris

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

5. "помогить пожалуйста разобрать файл" 
Сообщение от Xelas Искать по авторуВ закладки on 19-Май-05, 17:03  (MSK)
вау....
но маааленькое такое уточнение, делать надо на тонком клиенте, на котором, к сожалению, сильно урезаный линукс, без перла :((

может ли grep читать ДО определённой строки и ПОСЛЕ определённой строки?
то что он может читать КРОМЕ определённой строки знаю...
если не может grep, то кто может?

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

6. "помогить пожалуйста разобрать файл" 
Сообщение от Brainbug Искать по авторуВ закладки(ok) on 19-Май-05, 17:17  (MSK)
>вау....
>но маааленькое такое уточнение, делать надо на тонком клиенте, на котором, к
>сожалению, сильно урезаный линукс, без перла :((
>
>может ли grep читать ДО определённой строки и ПОСЛЕ определённой строки?
>то что он может читать КРОМЕ определённой строки знаю...
>если не может grep, то кто может?

E6e raz, 4to konkretno nado sdelat ?

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

11. "нужно вот что" 
Сообщение от Xelas Искать по авторуВ закладки on 20-Май-05, 09:51  (MSK)
расклад такой:
есть тонкий клиент, периодически в его конфигурации исправляются ошибки/вносятся "улучшения"(для чего такая дураЦЦкая система не спрашивайте, "так надо"(с);-))), в большинстве случаев это происходит удалённо/разными людьми, соответственнно надо поддерживать последнию версию на всех.
исправленный клиент дампится dd, и заливается на остальные удалённо, с использованием скрипта, тут возникает проблема конфигурации параметра HOSTNAME который очень не хочется менять ручками, соответственно задача в том, что бы параметр HOSTNAME, после заливки, вернулся на тот, который был у _данного_ клиента, а не у того, с которого дампили образ...
параметр HOSTNAME хранится в памяти, но после рестора образа диска невозможно сделать никаких изменений в файловой системе до ребута... :((

файл в котором параметр HOSTNAME известен (/etc/syscongig/rc)
возможно использовать для временного хранения имени хоста удалённый, подмонтированный по сети ресурс...
но как заставить его вернуться после ребута - вопрос...
может есть способ записать до ребута?

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

12. "нужно вот что" 
Сообщение от Brainbug Искать по авторуВ закладки(ok) on 20-Май-05, 10:52  (MSK)
>расклад такой:
>есть тонкий клиент, периодически в его конфигурации исправляются ошибки/вносятся "улучшения"(для чего такая
>дураЦЦкая система не спрашивайте, "так надо"(с);-))), в большинстве случаев это происходит
>удалённо/разными людьми, соответственнно надо поддерживать последнию версию на всех.
>исправленный клиент дампится dd, и заливается на остальные удалённо, с использованием скрипта,
>тут возникает проблема конфигурации параметра HOSTNAME который очень не хочется менять
>ручками, соответственно задача в том, что бы параметр HOSTNAME, после заливки,
>вернулся на тот, который был у _данного_ клиента, а не у
>того, с которого дампили образ...
>параметр HOSTNAME хранится в памяти, но после рестора образа диска невозможно сделать
>никаких изменений в файловой системе до ребута... :((
>
>файл в котором параметр HOSTNAME известен (/etc/syscongig/rc)
>возможно использовать для временного хранения имени хоста удалённый, подмонтированный по сети ресурс...
>
>но как заставить его вернуться после ребута - вопрос...
>может есть способ записать до ребута?

4to me6ajet smontirovat obraz, pomejat HOSTNAME parametr, sohranit
i ralit na ma6inu.
I tak dla kazdoi ma6ini ? Vpolen relanaja zada4a, kotorju ne slozno avtomatizirovat.

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

13. "нужно вот что" 
Сообщение от Xelas Искать по авторуВ закладки on 20-Май-05, 12:10  (MSK)
>4to me6ajet smontirovat obraz, pomejat HOSTNAME parametr, sohranit
>i ralit na ma6inu.
>I tak dla kazdoi ma6ini ? Vpolen relanaja zada4a, kotorju ne slozno
>avtomatizirovat.

т.е. менять параметр HOSTNAME  в образе перед каждой его заливкой? хм... не очень представляю, как это...

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

14. "нужно вот что" 
Сообщение от Xelas Искать по авторуВ закладки on 20-Май-05, 12:22  (MSK)
>>4to me6ajet smontirovat obraz, pomejat HOSTNAME parametr, sohranit
>>i ralit na ma6inu.
>>I tak dla kazdoi ma6ini ? Vpolen relanaja zada4a, kotorju ne slozno
>>avtomatizirovat.
>
>т.е. менять параметр HOSTNAME  в образе перед каждой его заливкой? хм...
>не очень представляю, как это...

в том смысле что, с одного образа заливается около 40 клиентов и менять и сохранять каждый раз образ неистетично, имхо...

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

15. "нужно вот что" 
Сообщение от Brainbug Искать по авторуВ закладки(ok) on 20-Май-05, 12:34  (MSK)
>>4to me6ajet smontirovat obraz, pomejat HOSTNAME parametr, sohranit
>>i ralit na ma6inu.
>>I tak dla kazdoi ma6ini ? Vpolen relanaja zada4a, kotorju ne slozno
>>avtomatizirovat.
>
>т.е. менять параметр HOSTNAME  в образе перед каждой его заливкой? хм...
>не очень представляю, как это...

Izvinajus za dopu6enije o6ibki, sam po4ital 4to i kak napisal, uzasnulsa.

T.k. obraz v jest ne 4to inoje kak FS, to mi mozem ego
smontirovat i rabotat s nim kak s prostoi FS.
Posle etogo rakzhe mozem razmontirovat ego i zakopirovat na nuznuju ma6inu.

4to me6ajet sdelat fail s sootvetstvijami: ma6ina -> hostname i v cikle menjat
HOSTNAME dla obraza s posleduju6im kopirovanijem na ma6inu ?

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

16. "финт ушами" 
Сообщение от Xelas Искать по авторуВ закладки on 20-Май-05, 12:52  (MSK)
спасибо всем, кто помогал...
пусть HOSTNAME генерится во время загрузки из мак-адреса


ещё раз спасибо и сорри за отнятое время
многго инетресного почерпнул, в любом случае...

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

7. "помогить пожалуйста разобрать файл" 
Сообщение от konst emailИскать по авторуВ закладки(ok) on 19-Май-05, 17:25  (MSK)
>вау....
>но маааленькое такое уточнение, делать надо на тонком клиенте, на котором, к
>сожалению, сильно урезаный линукс, без перла :((
>
>может ли grep читать ДО определённой строки и ПОСЛЕ определённой строки?
>то что он может читать КРОМЕ определённой строки знаю...
>если не может grep, то кто может?
возможно поможет это (sed):
http://www.opennet.me/docs/RUS/bash_scripting_guide/a14586.html
он такое может. но как не помню :(
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "помогить пожалуйста разобрать файл" 
Сообщение от Brainbug Искать по авторуВ закладки(ok) on 19-Май-05, 17:34  (MSK)
>>вау....
>>но маааленькое такое уточнение, делать надо на тонком клиенте, на котором, к
>>сожалению, сильно урезаный линукс, без перла :((
>>
>>может ли grep читать ДО определённой строки и ПОСЛЕ определённой строки?
>>то что он может читать КРОМЕ определённой строки знаю...
>>если не может grep, то кто может?
>возможно поможет это (sed):
>http://www.opennet.me/docs/RUS/bash_scripting_guide/a14586.html
>он такое может. но как не помню :(


[juris@test perl]$ cat -n 1
     1  bla-bla-bla
     2  bla-bla-bla
     3  bla-bla-bla
     4  NAME=Alex
     5  bla-bla-bla
     6  bla-bla-bla
     7  bla-bla-bla
     8  TEST=Juris
[juris@test perl]$ cat 1 | sed -n '{1,2p;7,8p}'
bla-bla-bla
bla-bla-bla
bla-bla-bla
TEST=Juris

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

9. "помогить пожалуйста разобрать файл" 
Сообщение от madskull Искать по авторуВ закладки(ok) on 19-Май-05, 18:05  (MSK)
>вау....
>но маааленькое такое уточнение, делать надо на тонком клиенте, на котором, к
>сожалению, сильно урезаный линукс, без перла :((
>
>может ли grep читать ДО определённой строки и ПОСЛЕ определённой строки?
>то что он может читать КРОМЕ определённой строки знаю...
>если не может grep, то кто может?

Скажем, файл называется file, контрольная строка вначале содержит NAME.
Вывод ДО контрольной строки
sed -n '/^NAME/q;p' file

Вывод ПОСЛЕ контрольной строки (ничего умнее не пришло в голову)
tac file | sed -n '/^NAME/q;p' | tac

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

10. "помогить пожалуйста разобрать файл" 
Сообщение от rzab Искать по авторуВ закладки(ok) on 20-Май-05, 06:01  (MSK)
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


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

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




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

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