The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"!!!ПОМОГИТЕ ПОЖАЙЛУСТА Скрипт !"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Shell скрипты)
Изначальное сообщение [ Отслеживать ]

"!!!ПОМОГИТЕ ПОЖАЙЛУСТА Скрипт !"  +/
Сообщение от Сергей (??) on 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 но я незнаю

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "!!!ПОМОГИТЕ ПОЖАЙЛУСТА Скрипт !"  +/
Сообщение от ACCA (ok) on 04-Сен-13, 07:37 

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

или


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

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

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

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

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

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

это не то!!!

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

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

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

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

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

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "!!!ПОМОГИТЕ ПОЖАЙЛУСТА Скрипт !"  +/
Сообщение от Сергей (??) on 04-Сен-13, 09:29 
>[оверквотинг удален]
>>> 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 'путь к файлу'

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "!!!ПОМОГИТЕ ПОЖАЙЛУСТА Скрипт !"  +/
Сообщение от михалыч (ok) on 04-Сен-13, 10:15 
>[оверквотинг удален]
> /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 просто мрак.

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "!!!ПОМОГИТЕ ПОЖАЙЛУСТА Скрипт !"  +/
Сообщение от Сергей (??) on 04-Сен-13, 11:25 
>[оверквотинг удален]
>> 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 просто мрак.

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


Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "!!!ПОМОГИТЕ ПОЖАЙЛУСТА Скрипт !"  +/
Сообщение от михалыч (ok) on 04-Сен-13, 11:30 
>[оверквотинг удален]
>>> 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'/"

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "!!!ПОМОГИТЕ ПОЖАЙЛУСТА Скрипт !"  +/
Сообщение от bob (??) on 04-Сен-13, 13:04 
>[оверквотинг удален]
> 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 {}'" \;

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

9. "!!!ПОМОГИТЕ ПОЖАЙЛУСТА Скрипт !"  +/
Сообщение от михалыч (ok) on 04-Сен-13, 13:22 
>[оверквотинг удален]
>>>> 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 {}'" \;

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

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

10. "!!!ПОМОГИТЕ ПОЖАЙЛУСТА Скрипт !"  +/
Сообщение от bob (??) on 04-Сен-13, 14:14 
>[оверквотинг удален]
>>> Там вышла досадная опечатка с последним слешем, правильно так
>>> | 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

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

11. "!!!ПОМОГИТЕ ПОЖАЙЛУСТА Скрипт !"  +/
Сообщение от михалыч (ok) on 04-Сен-13, 18:08 
>[оверквотинг удален]
>>> 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

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

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

12. "!!!ПОМОГИТЕ ПОЖАЙЛУСТА Скрипт !"  +/
Сообщение от Andrey Mitrofanov on 05-Сен-13, 09:47 
>| 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<   -   -   -

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

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

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

Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

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

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

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

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

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

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

Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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