anonymous@RULINUX.NET~# | Last login: 2024-12-23 06:29:41 |
Регистрация Вход | Новости | Разметка | Пользователи | Галерея | Форум | Статьи | Неподтвержденное | Трекер | Правила форума | F.A.Q. | Ссылки | Поиск |
Форум - General | [RSS] |
Есть у меня некоторый набор данных, в котором нужно менять некоторые из них в зависимости от внешних условий. Хочу написать шаблон вида
Но вот не знаю, какими средствами (sed, sh, что-то другое) потом такой шаблон обрабатывать, чтобы на выходе уже получились чистые данные. Не подскажите?
anonymous(*) (2009-07-28 15:55:44)
Mozilla/5.0 (X11; ; Linux i686; rv:1.8.1.22) Gecko/20090710
|
|
|
Скрыть
Re:[автоматизация] Подстановка значений> echo "$((1000+${offset_x})) $((2000+${offset_y})) $((100+${delta_x})) $((100+${delta_y}))" Это не шаблон, а sh-скрипт. Я хочу иметь _наглядный_ для любого читающего шаблон, который потом преобразовать в набор данных. Да и потом, я запарюсь набирать такую конструкцию пару тысяч раз :) |
Скрыть
Re:[автоматизация] Подстановка значений> Это не шаблон, а sh-скрипт. А что ты имел в виду, когда писал "sh"? > Я хочу иметь _наглядный_ для любого читающего шаблон, который потом преобразовать в набор данных. По-моему вполне понятный шаблон. Пробуй ещё вот это средство: ttp://www.google.com/search?q=template%20<название_технологии_которой_владеют_твои_юзеры> > Да и потом, я запарюсь набирать такую конструкцию пару тысяч раз :) Сохрани в виде файла? |
Скрыть
Re:[автоматизация] Подстановка значенийА в каком виде входной набор данных? Если в виде текстовиков типа |
Скрыть
Re:[автоматизация] Подстановка значений> А что ты имел в виду, когда писал "sh"? Обработать на sh, а не писать. > По-моему вполне понятный шаблон. Представь себе простого пользователя (да-да, того самого, который на компьютере владеет только методом "однопальцевого набора"), который будет это набирать или править. Что нагляднее > echo "$((1000+${offset_x})) $((2000+${offset_y})) $((100+${delta_x})) $((100+${delta_y}))" или > 1000+X 2000+Y 100+dx 100+dy ?? Я хочу выполнить Причём, в зависимости от требуемого выходного формата, использовать разные обработчики. |
Скрыть
Re:[автоматизация] Подстановка значений> cat <файл с данными> | awk '{printf "%f %f %f ", $1+$delata_x, $2+$delata_y, $3+$delata_z}' Вот, похоже на то. Надо будет только awk завернуть в sh, чтобы все эти delta_x не в командной строке задавать. |
Скрыть
Re:[автоматизация] Подстановка значений> m4 -Doffset_x=42 -Doffset_y=15 -Ddelta_x=666 -Ddelta_y=-15 filename Хмм.. То есть эта конструкция будет работать для моего шаблона? Просто не сталкивался с m4. |
Скрыть
Re:[автоматизация] Подстановка значенийНе, не прокатывает: code{ >cat test.data0 100+X 20-Y 100+dx 20-dy 3453+X-1 493+2*Y 230-dx 20 >m4 -DX=0 -DY=40 -Ddx=9 -Ddy=100 test.data0 100+0 20-40 100+9 20-100 3453+0-1 493+2*40 230-9 20} Как m4 сказать, чтобы он ещё и арифметику простую делал? |
Скрыть
Re:[автоматизация] Подстановка значений#include <iostream> #include <cstdlib> using namespace std; int main(int argc, char *argv[]) { int offset_x = 111; int offset_y = 222; int delta_x = 333; int delta_y = 444; if (argc-1 == 4) { cout << "offset_x = " << offset_x + atoi(argv[1]) << endl; cout << "offset_y = " << offset_y + atoi(argv[2]) << endl; cout << "delta_x = " << delta_x + atoi(argv[3]) << endl; cout << "delta_y = " << delta_y + atoi(argv[4]) << endl; } else cout << "Error parameters" << endl; return 0; } anonymous(*)(2009-07-29 14:03:49)
Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9.0.12) Gecko/2009070811 Ubuntu/9.04 (jaunty) Firefox/3.0.10 |
anonymous(*)(2009-07-29 14:08:22)
Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9.0.12) Gecko/2009070811 Ubuntu/9.04 (jaunty) Firefox/3.0.10 |
Tuxoid(*)(2009-07-29 14:19:49)
Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1) Gecko/20090624 Firefox/3.5 |
Скрыть
Re:testУгу. Только ты забыл парсер ещё написать, вдруг криворукие пользователи начнут подсовывать буквы вместо цифр. В итоге получится не хилая такая программа. |
gnomino(*)(2009-07-29 14:50:24)
Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9.1.1) Gecko/20090717 Fedora/3.5.1-1.fc11 Firefox/3.5.1 |
|
|
|
Этот тред читают 3 пользователя: |
Анонимных: 3 Зарегистрированных: 0 |
Re:[автоматизация] Подстановка значений