The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
!!!ПОМОГИТЕ ПОЖАЙЛУСТА Скрипт !, !*! Сергей, 04-Сен-13, 07:16  [смотреть все]
Ситуация следующая имеется n'ое кол-во файлов в директории

делают find /home/video/20130903/* -type f -name *.mp4 | sort  > output.list


/home/video/20130902/16/channel1_47.mp4
/home/video/20130902/16/channel1_48.mp4
/home/video/20130902/16/channel1_49.mp4
/home/video/20130902/17/channel1_01.mp4


вопрос как добавить какие либо значения к этим строкам например

file ' ... '


конечный вид

file '/home/video/20130902/16/channel1_47.mp4'


Помогите пожайлуста , вероятно это как то делается sed но я незнаю

  • !!!ПОМОГИТЕ ПОЖАЙЛУСТА Скрипт !, !*! ACCA, 07:37 , 04-Сен-13 (1)

    find /home/video/20130903 -type f -name *.mp4 -exec file {} \;

    или


    find /home/video/20130903 -type f -name *.mp4 -exec file {} +

    Нахрена там sed?

    • !!!ПОМОГИТЕ ПОЖАЙЛУСТА Скрипт !, !*! Сергей, 09:17 , 04-Сен-13 (2)
      >
       
      > find /home/video/20130903 -type f -name *.mp4 -exec file {} \;
      >

      > или
      >
       
      > find /home/video/20130903 -type f -name *.mp4 -exec file {} +
      >

      > Нахрена там sed?

      это не то!!!

      • !!!ПОМОГИТЕ ПОЖАЙЛУСТА Скрипт !, !*! михалыч, 09:20 , 04-Сен-13 (3)
        >>
         
        >> find /home/video/20130903 -type f -name *.mp4 -exec file {} \;
        >>

        >> или
        >>
         
        >> find /home/video/20130903 -type f -name *.mp4 -exec file {} +
        >>

        >> Нахрена там sed?
        > это не то!!!

        Погодите, медведь! Не ревите, медведь!(С)
        Объясните, чего вы хотите??

        • !!!ПОМОГИТЕ ПОЖАЙЛУСТА Скрипт !, !*! Сергей, 09:29 , 04-Сен-13 (4)
          >[оверквотинг удален]
          >>> find /home/video/20130903 -type f -name *.mp4 -exec file {} \;
          >>>

          >>> или
          >>>
           
          >>> find /home/video/20130903 -type f -name *.mp4 -exec file {} +
          >>>

          >>> Нахрена там sed?
          >> это не то!!!
          > Погодите, медведь! Не ревите, медведь!(С)
          > Объясните, чего вы хотите??

          Объясняю!

          Ситуация следующая имеется n'ое кол-во файлов в директории
          делают find /home/video/20130903/* -type f -name *.mp4 | sort  > output.list

          Еще раз объясняю!
          Есть файлы в директории формата *.mp4
          я их ищу , сортирую и выводу в файл output.list

          в таком формате

          /home/video/20130902/16/channel1_47.mp4
          /home/video/20130902/16/channel1_48.mp4
          /home/video/20130902/16/channel1_49.mp4
          /home/video/20130902/17/channel1_01.mp4

          далее я хочу их склеивать ffmpeg'ом используя опцию concat output.list

          но для этого мне нужно чтоб в файле output.list строки выглядели , вот так

          file '/home/video/20130902/16/channel1_47.mp4'
          file '/home/video/20130902/16/channel1_48.mp4'
          file '/home/video/20130902/16/channel1_49.mp4'
          file '/home/video/20130902/17/channel1_01.mp4'

          тоесть мне нужно добавить к каждой строчке file 'путь к файлу'

          • !!!ПОМОГИТЕ ПОЖАЙЛУСТА Скрипт !, !*! михалыч, 10:15 , 04-Сен-13 (5)
            >[оверквотинг удален]
            > /home/video/20130902/16/channel1_49.mp4
            > /home/video/20130902/17/channel1_01.mp4
            > далее я хочу их склеивать ffmpeg'ом используя опцию concat output.list
            > но для этого мне нужно чтоб в файле output.list строки выглядели ,
            > вот так
            > file '/home/video/20130902/16/channel1_47.mp4'
            > file '/home/video/20130902/16/channel1_48.mp4'
            > file '/home/video/20130902/16/channel1_49.mp4'
            > file '/home/video/20130902/17/channel1_01.mp4'
            > тоесть мне нужно добавить к каждой строчке file 'путь к файлу'

            find /home/video/20130902/ -type f -name "*.mp4" | sort  | sed -r "s/(.*)/file '\1/'" > output.list

            find /home/video/20130902/ -type f -name "*.mp4" | sort  | awk '{print "file '\''" $0 "'\''"}' > output.list

            С одинарными кавычками в awk просто мрак.

            • !!!ПОМОГИТЕ ПОЖАЙЛУСТА Скрипт !, !*! Сергей, 11:25 , 04-Сен-13 (6)
              >[оверквотинг удален]
              >> file '/home/video/20130902/16/channel1_47.mp4'
              >> file '/home/video/20130902/16/channel1_48.mp4'
              >> file '/home/video/20130902/16/channel1_49.mp4'
              >> file '/home/video/20130902/17/channel1_01.mp4'
              >> тоесть мне нужно добавить к каждой строчке file 'путь к файлу'
              > find /home/video/20130902/ -type f -name "*.mp4" | sort  | sed -r
              > "s/(.*)/file '\1/'" > output.list
              > find /home/video/20130902/ -type f -name "*.mp4" | sort  | awk '{print
              > "file '\''" $0 "'\''"}' > output.list
              > С одинарными кавычками в awk просто мрак.

              Спасибо второе подошло )


              • !!!ПОМОГИТЕ ПОЖАЙЛУСТА Скрипт !, !*! михалыч, 11:30 , 04-Сен-13 (7)
                >[оверквотинг удален]
                >>> file '/home/video/20130902/16/channel1_48.mp4'
                >>> file '/home/video/20130902/16/channel1_49.mp4'
                >>> file '/home/video/20130902/17/channel1_01.mp4'
                >>> тоесть мне нужно добавить к каждой строчке file 'путь к файлу'

                ИСПРАВЛЕНО
                find /home/video/20130902/ -type f -name "*.mp4" | sort  | sed -r "s/(.*)/file '\1'/" > output.list


                >> find /home/video/20130902/ -type f -name "*.mp4" | sort  | awk '{print
                >> "file '\''" $0 "'\''"}' > output.list
                >> С одинарными кавычками в awk просто мрак.
                > Спасибо второе подошло )

                Там вышла досадная опечатка с последним слешем, правильно так
                | sed -r "s/(.*)/file '\1'/"
                или так
                | sed "s/\(.*\)/file '\1'/"

                • !!!ПОМОГИТЕ ПОЖАЙЛУСТА Скрипт !, !*! bob, 13:04 , 04-Сен-13 (8)
                  >[оверквотинг удален]
                  > find /home/video/20130902/ -type f -name "*.mp4" | sort  | sed -r
                  > "s/(.*)/file '\1'/" > output.list
                  >>> find /home/video/20130902/ -type f -name "*.mp4" | sort  | awk '{print
                  >>> "file '\''" $0 "'\''"}' > output.list
                  >>> С одинарными кавычками в awk просто мрак.
                  >> Спасибо второе подошло )
                  > Там вышла досадная опечатка с последним слешем, правильно так
                  > | sed -r "s/(.*)/file '\1'/"
                  > или так
                  > | sed "s/\(.*\)/file '\1'/"

                  Пардон, а так не проще

                  find path -type f -name "*.mp4" -exec echo "'file {}'" \;

                  • !!!ПОМОГИТЕ ПОЖАЙЛУСТА Скрипт !, !*! михалыч, 13:22 , 04-Сен-13 (9)
                    >[оверквотинг удален]
                    >>>> find /home/video/20130902/ -type f -name "*.mp4" | sort  | awk '{print
                    >>>> "file '\''" $0 "'\''"}' > output.list
                    >>>> С одинарными кавычками в awk просто мрак.
                    >>> Спасибо второе подошло )
                    >> Там вышла досадная опечатка с последним слешем, правильно так
                    >> | sed -r "s/(.*)/file '\1'/"
                    >> или так
                    >> | sed "s/\(.*\)/file '\1'/"
                    > Пардон, а так не проще
                    > find path -type f -name "*.mp4" -exec echo "'file {}'" \;

                    А чёрт его знает! Может и проще.
                    Об этом лучше у ТС спросить.
                    Я думаю, это вопрос риторический.
                    Или же вы хотите открыть диспут по этому поводу?

                    • !!!ПОМОГИТЕ ПОЖАЙЛУСТА Скрипт !, !*! bob, 14:14 , 04-Сен-13 (10)
                      >[оверквотинг удален]
                      >>> Там вышла досадная опечатка с последним слешем, правильно так
                      >>> | sed -r "s/(.*)/file '\1'/"
                      >>> или так
                      >>> | sed "s/\(.*\)/file '\1'/"
                      >> Пардон, а так не проще
                      >> find path -type f -name "*.mp4" -exec echo "'file {}'" \;
                      > А чёрт его знает! Может и проще.
                      > Об этом лучше у ТС спросить.
                      > Я думаю, это вопрос риторический.
                      > Или же вы хотите открыть диспут по этому поводу?

                      нет не хочу :)
                      про сортировку забыл
                      find -s path -type f -name "*.mp4" -exec echo "file '{}'" \;
                      либо так
                      find path -type f -name "*.mp4" -exec echo "file '{}'" \;|sort

                      • !!!ПОМОГИТЕ ПОЖАЙЛУСТА Скрипт !, !*! михалыч, 18:08 , 04-Сен-13 (11)
                        >[оверквотинг удален]
                        >>> find path -type f -name "*.mp4" -exec echo "'file {}'" \;
                        >> А чёрт его знает! Может и проще.
                        >> Об этом лучше у ТС спросить.
                        >> Я думаю, это вопрос риторический.
                        >> Или же вы хотите открыть диспут по этому поводу?
                        > нет не хочу :)
                        > про сортировку забыл
                        > find -s path -type f -name "*.mp4" -exec echo "file '{}'" \;
                        > либо так
                        > find path -type f -name "*.mp4" -exec echo "file '{}'" \;|sort

                        На самом деле это здорово, то что вы нашли другое решение.
                        Это же как гимнастика для ума, ну типа, чтобы мозги жиром не заплыли.
                        Ум хорошо, два лучше, ну а форум, он же для того и форум - ещё лучше!

            • !!!ПОМОГИТЕ ПОЖАЙЛУСТА Скрипт !, !*! Andrey Mitrofanov, 09:47 , 05-Сен-13 (12)
              >| sed -r "s/(.*)/file '\1/'" > output.list

              | sed "s/.\+/file '&'/"

              > find /home/video/20130902/ -type f -name "*.mp4" | sort  | awk '{print
              > "file '\''" $0 "'\''"}' > output.list
              > С одинарными кавычками в awk просто мрак.

              Это на в awk, как в таковом, а в однострочном in-line awk _в_shell_.

              -   -   -   8<   -   -   -
              #!/usr/bin/awk -f

              {
                 print "file '"$0"'"
              }
              -   -   -   8<   -   -   -

              • !!!ПОМОГИТЕ ПОЖАЙЛУСТА Скрипт !, !*! михалыч, 05:49 , 06-Сен-13 (13)
                > | sed "s/.\+/file '&'/"

                Понятно, что \+ означает один или более повтор
                а * означает любое число (и нулевое тоже) повторов, но тем не менее,
                предложенный вариант у меня на FreeBSD не заработал ((
                Работает либо так
                | sed "s/.*/file '&'/"
                или так, с ключиком -r
                | sed -r "s/.+/file '&'/"

                • !!!ПОМОГИТЕ ПОЖАЙЛУСТА Скрипт !, !*! Andrey Mitrofanov, 09:37 , 06-Сен-13 (14)
                  >> | sed "s/.\+/file '&'/"

                  Ну, вот и я походил по граблям, sed в inline shell-е, на этот раз.

                  | sed "s/.\\+/file '&'/"
                  | sed 's/.\+/'"file '&'/"
                  | sed 's/.\+/file '"'&'/"

                  | sed 's/.\+/file '"'"'&'"'"'/' Ж)))

                  ---И нет, не проверял и сейчас.

                  > предложенный вариант у меня на FreeBSD не заработал ((  
                  > или так, с ключиком -r
                  > | sed -r "s/.+/file '&'/"




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

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