Shell
將 find -exec 輸出保存到文本文件
我在文件夾中有一組影片。我想使用
ffmpeg -i
命令獲取有關此影片的資訊並將輸出保存到文件。所以我寫了一行:
find . -type f -exec ffmpeg -i {} \; > log.txt
但令人驚訝的是,日誌是空的!我在這裡想念什麼?
我認為這裡可能發生的
ffmpeg
是將其輸出發送到stderr
,在這種情況下,您想要的只是:find . -type f -exec ffmpeg -i {} \; 2>log.txt
我沒有
ffmpeg
在我的發行版中進行測試,但這已通過avconv
from驗證libav
(在這方面應該仍然相同)。
在 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