Shell

將 find -exec 輸出保存到文本文件

  • January 29, 2014

我在文件夾中有一組影片。我想使用ffmpeg -i命令獲取有關此影片的資訊並將輸出保存到文件。

所以我寫了一行:

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

但令人驚訝的是,日誌是空的!我在這裡想念什麼?

我認為這裡可能發生的ffmpeg是將其輸出發送到stderr,在這種情況下,您想要的只是:

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

我沒有ffmpeg在我的發行版中進行測試,但這已通過avconvfrom驗證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

引用自:https://unix.stackexchange.com/questions/111520