The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Нужно подчистить хранилище картинок, !*! universite, 04-Янв-14, 15:36  [смотреть все]

Есть хранилище кадров с видеокамеры.
Директории вида - /video/home/2013/09/17/02
Содержимое директории:


snap-02.00.00.jpg
snap-02.00.05.jpg
snap-02.00.10.jpg
snap-02.00.14.jpg
snap-02.00.18.jpg
snap-02.00.22.jpg
snap-02.00.26.jpg
snap-02.00.30.jpg
snap-02.00.34.jpg
snap-02.00.38.jpg
snap-02.00.43.jpg
snap-02.00.47.jpg
snap-02.00.51.jpg
snap-02.00.55.jpg
...

Как оставить, например, каждый 5-тый кадр и удалить остальные?

  • Нужно подчистить хранилище картинок, !*! pavel_simple, 19:04 , 04-Янв-14 (1)
    >[оверквотинг удален]
    > snap-02.00.30.jpg
    > snap-02.00.34.jpg
    > snap-02.00.38.jpg
    > snap-02.00.43.jpg
    > snap-02.00.47.jpg
    > snap-02.00.51.jpg
    > snap-02.00.55.jpg
    > ...
    >

    > Как оставить, например, каждый 5-тый кадр и удалить остальные?

    awk 'NR%5==0'

    • Нужно подчистить хранилище картинок, !*! universite, 19:40 , 04-Янв-14 (2)

      > awk 'NR%5==0'

      Логики работы не понятная.


      # ll
      total 5
      -rw-r--r--  1 root  wheel  985 21 сен 01:10 Makefile
      -rw-r--r--  1 root  wheel  128 14 июл  2012 distinfo
      drwxr-xr-x  2 root  wheel    9 12 окт 22:22 files
      -rw-r--r--  1 root  wheel  134 14 июл  2012 pkg-descr
      # ll | awk 'NR%2==0'
      -rw-r--r--  1 root  wheel  985 21 сен 01:10 Makefile
      drwxr-xr-x  2 root  wheel    9 12 окт 22:22 files
      # ll | awk 'NR%3==0'
      -rw-r--r--  1 root  wheel  128 14 июл  2012 distinfo
      # ll | awk 'NR%4==0'
      drwxr-xr-x  2 root  wheel    9 12 окт 22:22 files
      # ll | awk 'NR%5==0'
      -rw-r--r--  1 root  wheel  134 14 июл  2012 pkg-descr

      • Нужно подчистить хранилище картинок, !*! pavel_simple, 23:09 , 04-Янв-14 (3)
        >> awk 'NR%5==0'
        > Логики работы не понятная.

        какие роботы? непонятная кто? man не перевели? кто такой ll? No manual entry for ll.

               NR          The total number of input records seen so far.
        http://www.gnu.org/software/gawk/manual/html_node/Arithmetic...
        x % y
            Remainder; further discussion is provided in the text, just after this list.
        When computing the remainder of ‘x % y’, the quotient is rounded toward zero to an integer and multiplied by y. This result is subtracted from x; this operation is sometimes known as “trunc-mod.” The following relation always holds:

             b * int(a / b) + (a % b) == a

        "==" объяснять?

        >[оверквотинг удален]
        > # ll | awk 'NR%3==0'
        > -rw-r--r--  1 root  wheel  128 14 июл  2012
        > distinfo
        > # ll | awk 'NR%4==0'
        > drwxr-xr-x  2 root  wheel    9 12 окт
        > 22:22 files
        > # ll | awk 'NR%5==0'
        > -rw-r--r--  1 root  wheel  134 14 июл  2012
        > pkg-descr
        >

      • Нужно подчистить хранилище картинок, !*! Andrey Mitrofanov, 23:18 , 04-Янв-14 (4)
        >> awk 'NR%5==0'
        > Логики работы не понятная.

        $ cd /video/home/2013/09/17/02
        $ ls |awk 'NR%5!=0' |xargs rm

        Лучше?

        • Нужно подчистить хранилище картинок, !*! universite, 00:24 , 05-Янв-14 (6)
          >>> awk 'NR%5==0'
          >> Логики работы не понятная.
          > $ cd /video/home/2013/09/17/02
          > $ ls |awk 'NR%5!=0' |xargs rm
          > Лучше?

          Тоже, только в профиль.
          Нужно оставить 1,6,11,16.. элементы массива.

          • Нужно подчистить хранилище картинок, !*! Andrey Mitrofanov, 00:32 , 05-Янв-14 (7)
            >> $ ls |awk 'NR%5!=0' |xargs rm
            >> Лучше?
            > Тоже, только в профиль.

            В смысле не понятно?

            > Нужно оставить 1,6,11,16.. элементы массива.

            ls |awk 'NR%5!=1' |xargs rm

            Но соответственно в предположении, что имена в "нужном" порядке выдаются ls-ом (на linux-ах == лексикографический порядок = правильный), и что "высший" разум не будет это пускать два раза на одну и теж директорию.

            Ну, мож
               ls snap-*.png |awk ...
            , если там поддиректории или др.файлы.

            Если хочется "математики", а не однострочник-хак, то, боюсь, однозначную или хотя достаточную постановку будет очень сложно в форуме получитью

            • Нужно подчистить хранилище картинок, !*! universite, 00:50 , 05-Янв-14 (9)
              >>> $ ls |awk 'NR%5!=0' |xargs rm
              >>> Лучше?
              >> Тоже, только в профиль.
              > В смысле не понятно?
              >> Нужно оставить 1,6,11,16.. элементы массива.
              > Если хочется "математики", а не однострочник-хак, то, боюсь, однозначную или хотя достаточную
              > постановку будет очень сложно в форуме получитью

              Пасиб, понял, что надо копать в сторону awk.
              Проверю на длинном списке, как работает NR, если он действительно будет выбирать каждый 5 элемент списка, хоть и не с 1-го элемента, тогда, наверное, на нем и остановлюсь.

              • Нужно подчистить хранилище картинок, !*! universite, 00:54 , 05-Янв-14 (10)
                >[оверквотинг удален]
                >>>> Лучше?
                >>> Тоже, только в профиль.
                >> В смысле не понятно?
                >>> Нужно оставить 1,6,11,16.. элементы массива.
                >> Если хочется "математики", а не однострочник-хак, то, боюсь, однозначную или хотя достаточную
                >> постановку будет очень сложно в форуме получитью
                > Пасиб, понял, что надо копать в сторону awk.
                > Проверю на длинном списке, как работает NR, если он действительно будет выбирать
                > каждый 5 элемент списка, хоть и не с 1-го элемента, тогда,
                > наверное, на нем и остановлюсь.

                Вот так оставлю.


                awk 'NR%5-1==0'

                • Нужно подчистить хранилище картинок, !*! pavel_simple, 02:42 , 05-Янв-14 (12)
                  >[оверквотинг удален]
                  >>> Если хочется "математики", а не однострочник-хак, то, боюсь, однозначную или хотя достаточную
                  >>> постановку будет очень сложно в форуме получитью
                  >> Пасиб, понял, что надо копать в сторону awk.
                  >> Проверю на длинном списке, как работает NR, если он действительно будет выбирать
                  >> каждый 5 элемент списка, хоть и не с 1-го элемента, тогда,
                  >> наверное, на нем и остановлюсь.
                  > Вот так оставлю.
                  >
                   
                  > awk 'NR%5-1==0'
                  >

                  я таки непонял -- чем 'NR%5==1' не подошло? с арифметикой туговато?

                  find для обхода -- да!

  • Нужно подчистить хранилище картинок, !*! universite, 00:56 , 05-Янв-14 (11)
    >[оверквотинг удален]
    > snap-02.00.30.jpg
    > snap-02.00.34.jpg
    > snap-02.00.38.jpg
    > snap-02.00.43.jpg
    > snap-02.00.47.jpg
    > snap-02.00.51.jpg
    > snap-02.00.55.jpg
    > ...
    >
    > Как оставить, например, каждый 5-тый кадр и удалить остальные?

    Еще под-вопрос.

    Чем обходить эти директории?
    Через find?





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

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