Salve encontrar saída -exec para arquivo de texto

4

Eu tenho um conjunto de vídeos na pasta. Gostaria de obter as informações sobre esses vídeos usando o comando ffmpeg -i e salvar a saída no arquivo.

Então escrevi a linha:

find . -type f -exec ffmpeg -i {} \; > log.txt

Mas, surpreendentemente, o log está vazio! O que estou perdendo aqui?

    
por Timofey 29.01.2014 / 19:30

2 respostas

5

Acho que o que pode estar acontecendo aqui é que ffmpeg está enviando sua saída para stderr . Nesse caso, o que você quer é apenas:

find . -type f -exec ffmpeg -i {} \; 2>log.txt

Eu não tenho ffmpeg na minha distro para testar, mas isso foi verificado com avconv de libav (ainda deve ser o mesmo a esse respeito).

    
por 29.01.2014 / 19:53
0

define a saída dentro do exec

find . -type f -exec ffmpeg -i {} \; > log.txt

breno@stormtrooper:/tmp$ find . -type f -exec ls {} >> /tmp/test.log \;
find: './pulse-PKdhtXMmr18n': Permission denied
breno@stormtrooper:/tmp$ ls
hsperfdata_breno  pulse-PKdhtXMmr18n  ssh-SLDpHf9PBb5g  t2  test.log
breno@stormtrooper:/tmp$ cat test.log 
./.X0-lock
./.t2.swp
./hsperfdata_breno/3692
./test.log
./.wine-1000/server-801-8a0557/lock
./t2
    
por 29.01.2014 / 19:37