我尝试使用tee
和>
将终端输出重定向到文件,如示例here和question。它适用于echo test | tee log.txt
或ls -l | tee log.txt
但是当我运行像divine verify file.dve | tee log.txt
这样的命令时,它不起作用(不会向log.txt添加任何内容)
其中divine是一个已安装的工具。有什么想法或替代方案吗?
答案 0 :(得分:2)
试试divine verify file.dve 2>&1 | tee log.txt
。如果程序输出到stderr而不是stdout,则会将stderr重定向到stdout。
答案 1 :(得分:-1)
也适用于ffmpeg输出
{ echo ffmpeg -i [rest of command]; ffmpeg -i [rest of command]; } 2>&1 | tee ffmpeg.txt
和tee -a如果文件已存在则追加
==
如果你想在文件夹中的所有文件上看到mediainfo并确保命令在mediainfo.txt中也可见
{ echo mediainfo *; mediainfo *; } 2>&1 | tee mediainfo.txt
注意:{echo cmd; CMD; }表示命令保存在txt文件中;没有这个就不会打印