我需要在 commons-cli 中将 tab 作为参数传递。当我将参数设为“\\t”时,命令行解析器会将其解析为“\t”字符本身,而不是 TAB ( ) 空格。我怎样才能做到这一点?
编辑 :
正如@centic 所建议的,用我如何调用应用程序来更新问题。我在 Unix 中使用命令行调用,其中反斜杠被检测为转义字符。
更准确地说,我在提交 hadoop 流作业时使用它,如果这有帮助的话。例如:
hadoop jar $HADOOP_HOME/share/hadoop/tools/lib/hadoop-streaming-2.4.0.jar -D stream.map.output.field.separator="\t" -file mapper.py -mapper mapper.py -file reducer.py -reducer reducer.py -input /in -output /out
Apache Hadoop 使用 Apache Commons-cli 作为命令行实用程序。所以我假设“\\t”解析为“\t”并作为选项传递。但是当我通过调试 hadoop 源代码打印它时,它不是 TAB 空格字符,而是打印为“\t”(字符串文字)本身。