从sed命令捕获错误流

从sed命令捕获错误流,sed,redirect,Sed,Redirect,如何将sed命令中的任何错误捕获到文件中?下面是我正在使用的sed命令: sed -e 's/'old_word'/'new_word'/' temp_file > output_file 现在,当一切顺利时,来自temp\u文件的修改内容将被捕获到output\u文件。但是假设输出文件恰好是只读的。在这种情况下,我希望它被重定向到error\u文件,而不是屏幕上显示错误。我该怎么做?我尝试将2>error\u file添加到上述命令的末尾,但没有成功 谢谢。以下命令对我很有效:

如何将
sed
命令中的任何错误捕获到文件中?下面是我正在使用的
sed
命令:

    sed -e 's/'old_word'/'new_word'/' temp_file > output_file
现在,当一切顺利时,来自
temp\u文件
的修改内容将被捕获到
output\u文件
。但是假设
输出文件
恰好是只读的。在这种情况下,我希望它被重定向到
error\u文件
,而不是屏幕上显示错误。我该怎么做?我尝试将
2>error\u file
添加到上述命令的末尾,但没有成功


谢谢。

以下命令对我很有效:

sed -e 's/'old_word'/'new_word'/' temp_file > output_file 2>error_file
sed -e 's/'old_word'/'new_word'/' temp_file > output_file 2> sed_error

只需确保你没有在
2

之间留出空格,它以什么方式“不起作用”?所有额外的报价是什么?您可以这样做:
sed-e的/old\u word/new\u word/'temp\u file>output\u file 2>error\u file
它不起作用,因为我将output\u file设置为只读并执行了命令。控制台上仍然显示错误消息。额外的引号是因为旧单词和新单词实际上是我脚本中的变量。