|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Alexey Vissarionov 2:5020/545 07 Dec 2007 11:18:16 To : Alexander Stavitsky Subject : sed & awk -------------------------------------------------------------------------------- 06 Dec 07 21:45, Alexander Stavitsky -> All: AS> Ребят, нужна достаточно срочная помощь... Имеется самописный скрипт AS> на bash, sed и awk, который парсит текстовый файл (вывод с sql) и его AS> надо превратить в некую болванку csv (как после Excel). Так вот этот AS> скриптик хорошо работает на маленьких файлах, а вот как загружаем в AS> него нечто большое и писец. А дело в том, что он в цикле заполняет AS> массив bash строками, налету фильтруя их sed и awk. Для подобных действий существует perl. AS> Так вот имхо в этой фильтрации и затык, но конкретно установить, кто AS> виноват в тормозах не удается. sed используется в основном как sed AS> y/blabla/BLABLA/, а awk как awk '{print}'. Бугагасеньки... AS> Скрипт писался мной, но предоставить его я не могу из политических AS> соображений компании. Тогда зачем ты вообще об этом пишешь? Поплакаться? AS> Хочу спросить, есть ли у кого соображения по поводу подобной фигни? Есть. Имеет место изначально неверный подход к решению задачи. AS> Кстати, типичный затык - это cat $file | sed y/gaga/BLABLA/ при AS> размере файла в 20MB. о что же мне делать, ведь эту операцию АДО AS> СДЕЛАТЬ? AS> Причем тесты проводятся на довольной сильной машине и всеравно эта AS> операция занимает ~ 3 часа. WTF? 20 Мб за 3 часа? Гыгы... Я таки рекомендую переписать эту приблуду на perl, а если и это не поможет - останется всего один вариант: #include <sys/types.h> #include <regex.h> #include <stdio.h> #include <stdlib.h> int main(int argc, char **argv) { // дальше - самостоятельно! } -- Alexey V. Vissarionov aka Gremlin from Kremlin gremlin ПРИ gremlin ТЧК ru; +vii-cmiii-ccxxix-lxxix-xlii ... Зеленого змия - в Красную книгу --- /bin/vi * Origin: http://openwall.com/Owl/ru/ (2:5020/545) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/22944758f3e7.html, оценка из 5, голосов 10
|