2013-12-13 52 views
1

我想处理PCAP文件,然后使用WholeFileInputFormat。 地图的输入是<filename,content>。 如何使用shell脚本获取内容?如何在hadoop映射器中使用shell脚本获取值

+1

地图的输入<文件名,含量> – Jack

+0

我不明白的问题。请提供样本输入和您想要的输出。 –

+0

映射器的输入是一个文件,如“键\ t这是值,我想获得值”。我想要得到的输出是该文件的一部分,例如“这是值,我希望获得该值”。如何使用shell脚本执行此操作? – Jack

回答

0
# test file: 
echo -e "foo bar\tthis is\nthe rest of the content" > file 

contents=$(sed '1s/[^\t]*\t//' file) 
label=$(sed '1{ s/\t.*//; q }' file) 

您必须引用变量以保留空格。

echo "$label" 
echo "$contents" 

你应该总是引用变量,除非你知道为什么明确你不应该

+0

当我回显$ contents时,我得到“这是其余内容”。但我想保留这两行内容,换句话说,我希望保留'\ n'。 – Jack

+0

非常感谢您的耐心回答,非常感谢。 – Jack

+0

内容是一个十六进制文件内容,如何保留\ x00? – Jack