cmd1,cmd2与管道连接并保存每个命令的日志
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cmd1,cmd2与管道连接并保存每个命令的日志相关的知识,希望对你有一定的参考价值。
我将管道命令1和命令2.并且该命令的日志想要输出到一个文件。
但是终端上的日志显示......
$cmd1 1> result1.out 2> log.txt
$cmd2 result1.out 1> result2.out 2>> log.txt
两个命令可用作管道以减少时间。
每次运行都会导致与连接管道所使用的差异大约一个小时。
$cmd1 | cmd2 1> result.out 2> log.txt
这种情况我想保存所有日志到log.txt
但日志没有写该文件
答案
对管道进行分组并重定向整个组的stderr:
{ cmd1 | cmd2 >result.out; } 2>log.txt
另一答案
这就是你拥有的:
cmd1 | cmd2 >out 2>log
那
- 将cmd1的stdout传递给cmd2的stdin,
- 在屏幕上打印cmd1的stderr,
- 将cmd2的stdout保存到文件输出,
- 并将cmd2的stderr保存到文件日志中。
你可能想要:
cmd1 2>log1 | cmd2 >out >log2
这个
- 将cmd1的stdout传递给cmd2的stdin,
- 将cmd1的stderr保存到文件log1,
- 将cmd2的stdout保存到文件输出,
- 并将cmd2的stderr保存到文件log2。
以上是关于cmd1,cmd2与管道连接并保存每个命令的日志的主要内容,如果未能解决你的问题,请参考以下文章