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

时间:2014-07-05 05:21:05

标签: list shell hadoop pipe

我在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。没用。

1 个答案:

答案 0 :(得分:1)

不使用管道,您将无法获得链中先前管道命令的标准内容。很可能你会得到更好的内容。

尝试此命令以禁止错误:

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