本地和hadoop文件之间的差异

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

我正在尝试以下方法:

  1. # !/bin/sh
  2. while read LINE
  3. do
  4. diff source_$LINE <(hadoop fs -cat /user/hadoop-path/$LINE/output) > diff_$LINE
  5. done < FILE

它在cmd行中运行良好,但在shell中出现错误:意外标记“(”附近出现语法错误
需要帮忙吗?

doinxwow

doinxwow1#

进程替换在posix shell中不可用( #!/bin/sh ). 你的交互式shell显然是 bash ,而脚本不是。要么把车换成 #!/bin/bash ,或在脚本中使用here文档:

  1. diff source_$LINE - <<EOF > diff_$LINE
  2. $(hadoop fs -cat /usr/hadoop-path/$LINE/output)
  3. EOF

相关问题