如何防止所有管道重定向附加到文件

dly7yett  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(393)

我正在unix中尝试以下hadoop命令。


* hadoop fs -ls <HDFS path> | grep MatchValue | cut -d "/" f11*

或者


* hadoop fs -ls <HDFS path> | sed -e '/MatchValue/!d' | cut -d "/" f11*

我得到了我想要的结果。
现在我的问题来了。我正在尝试将此输出重定向到shell脚本中的文件。

hadoop fs -ls <HDFS path> | sed -e '/MatchValue/!d' | cut -d "/" f11 >> LogName.lst

或者

hadoop fs -ls <HDFS path> | sed -e '/MatchValue/!d' | cut -d "/" f11 1>> LogName1>.lst 2>> LogName2.lst

现在在日志中,我也得到了第一个和第二个管道结果。
我也试过只使用前两个管道命令,没有剪切,即使在那里我也得到了hadoop命令的结果。
我尝试了ksh和bash两种方法。没用。

0h4hbjxa

0h4hbjxa1#

不,通过使用管道,您将无法获得链中以前管道命令的标准输出内容。很可能你得到的是标准的内容。
尝试此命令以抑制错误:

hadoop fs -ls 2>/dev/null | sed -e '//!d' | cut -d "/" f11 >> .lst

相关问题