The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Оптимизация и удаление временных файлов, !*! globi, 09-Май-16, 22:12  [смотреть все]
Начал смотреть свои старые скрипты и понял что слишком много временных файлов делаю. Часть удалил, часть засунул в переменные. Вот что осталось

1) grep blabla /home/base.csv > /home/blabla.csv - ищу нужные строки в файле и сохраняю во временный
2) awk -F" *;" '$3< 9999' /home/blabla.csv > /home/blabla2.csv - далее ищу строки со значением меньше 9999 в третьем столбце и сохраняю во 2ой временный файл
3) cat /home/blabla2.csv | tr -d \" > /home/blabla3.csv - удаляю " и сохраняю в 3ий файл
4) awk -F" *;" ' {print "itog_"$1"-"$2"-"$9"     "$3} ' /home/blabla3.csv > /home/blabla4  - формирую запись из полученных значений в столбцах и опять же сохраняю в временный файл
5)sort -u /home/url_blabla > /home/blabla - сортирую и получаю итоговый файл

Выглядит как костыли которым крутят велосипед с квадратными колёсами.
В какую сторону посмотреть, что бы увидеть о чём почитать?)
Как я понял sed не работает с переменными или я не прав?

  • Оптимизация и удаление временных файлов, !*! reader, 14:29 , 10-Май-16 (1)
    >[оверквотинг удален]
    > 2ой временный файл
    > 3) cat /home/blabla2.csv | tr -d \" > /home/blabla3.csv - удаляю "
    > и сохраняю в 3ий файл
    > 4) awk -F" *;" ' {print "itog_"$1"-"$2"-"$9"     "$3}
    > ' /home/blabla3.csv > /home/blabla4  - формирую запись из полученных значений
    > в столбцах и опять же сохраняю в временный файл
    > 5)sort -u /home/url_blabla > /home/blabla - сортирую и получаю итоговый файл
    > Выглядит как костыли которым крутят велосипед с квадратными колёсами.
    > В какую сторону посмотреть, что бы увидеть о чём почитать?)
    > Как я понял sed не работает с переменными или я не прав?

    почему не читаете /home/base.csv или /home/blabla.csv построчно в переменную и на шагах 2,3,4 работать с переменной

  • Оптимизация и удаление временных файлов, !*! _, 17:05 , 10-Май-16 (2) –2
    > Выглядит как костыли которым крутят велосипед с квадратными колёсами.

    1) | 2) | 3) | 4) | 5) > result

    > В какую сторону посмотреть, что бы увидеть о чём почитать?)

    http://www.tldp.org/LDP/Bash-Beginners-Guide/html/

    • Оптимизация и удаление временных файлов, !*! globi, 18:51 , 10-Май-16 (3) –1
      >> Выглядит как костыли которым крутят велосипед с квадратными колёсами.
      > 1) | 2) | 3) | 4) | 5) > result
      >> В какую сторону посмотреть, что бы увидеть о чём почитать?)
      > http://www.tldp.org/LDP/Bash-Beginners-Guide/html/

      Ну вам видимо и стоит почитать )

      • Оптимизация и удаление временных файлов, !*! ALex_hha, 20:52 , 10-Май-16 (4) –1
        > Ну вам видимо и стоит почитать )

        не асилил пайпы? :facepalm:


        # cat test.csv
        1;2;1000
        2;2;2000
        3;2;3000
        4;2;4000
        5;qwerty;5000
        6;2;6000
        7;2;7000
        8;qwerty;8000
        9;2;9000
        10;qwerty;10000
        11;qwerty;11000

        # grep -F qwerty test.csv | awk -F ';' '$3 < 9999'
        5;qwerty;5000
        8;qwerty;8000


        Дописать оставшиеся пайпы будет тебе в качестве домашнего задания :D
        • Оптимизация и удаление временных файлов, !*! Andrey Mitrofanov, 21:15 , 10-Май-16 (5) +1
          >> Ну вам видимо и стоит почитать )
          > не асилил пайпы? :facepalm:
          > # grep -F qwerty test.csv | awk -F ';' '$3 < 9999'

          Useless use of grep. :)   //К тем cat-у и второму awk-у.

          > Дописать оставшиеся пайпы будет тебе в качестве домашнего задания :D

          При условии, что выход один, всё, кроме sort-а, собрать в 1 awk -- упражнение на 3 с +. В тот же awk убрать и sort тоже -- ещё плюс 1 бал.

        • Оптимизация и удаление временных файлов, !*! globi, 22:03 , 10-Май-16 (6)
          >[оверквотинг удален]
          > 7;2;7000
          > 8;qwerty;8000
          > 9;2;9000
          > 10;qwerty;10000
          > 11;qwerty;11000
          > # grep -F qwerty test.csv | awk -F ';' '$3 < 9999'
          > 5;qwerty;5000
          > 8;qwerty;8000
          >

          > Дописать оставшиеся пайпы будет тебе в качестве домашнего задания :D

          Осилил что-то получше )
          awk -F" *;" '$3< '$price' && $9 ~ /'$item'/ '
          уже понял что можно почти всё в awk сделать, читаю man

          • Оптимизация и удаление временных файлов, !*! ALex_hha, 23:38 , 10-Май-16 (7)
            awk намного медленее это делает, но если вопрос скорости не стоит, то можно и в один awk все впихнуть


            # time zcat -f -- access.log.gz | grep GET | awk '{print $7}' | wc -l
            9465430

            real    0m8.667s
            user    0m8.515s
            sys     0m3.327s

            # time zcat -f -- access.log.gz | awk '/GET/{print $7}' | wc -l
            9465430

            real    0m49.934s
            user    0m47.868s
            sys     0m1.902s


            • Оптимизация и удаление временных файлов, !*! Andrey Mitrofanov, 09:55 , 11-Май-16 (8)
              >[оверквотинг удален]
              > 9465430
              > real    0m8.667s
              > user    0m8.515s
              > sys     0m3.327s
              > # time zcat -f -- access.log.gz | awk '/GET/{print $7}' | wc
              > -l
              > 9465430
              > real    0m49.934s
              > user    0m47.868s
              > sys     0m1.902s

              Гм, деситтна тормоз. //Стагнация в GNU! Требовать jit-ов и нативной конперяции в аптеках!

              # time < access_log-20160511 grep GET | awk '{print $7}' | wc -l
              161206

              real    0m0.229s
              # time < access_log-20160511 grep GET -c
              161206

              real    0m0.207s
              # time < access_log-20160511 awk '$6~/^.GET/{c++}END{print c}'
              161206

              real    0m0.568s
              # time < access_log-20160511 awk '/GET/{c++}END{print c}'
              161206

              real    0m1.115s




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

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