HADOOP-7348. Change 'addnl' in getmerge util to be a flag '-nl' instead (XieXianshan via harsh)
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1225192 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
a9ffbdd0d7
commit
1e0c51c66e
@ -79,6 +79,8 @@ Trunk (unreleased changes)
|
||||
|
||||
HADOOP-7574. Improve FSShell -stat, add user/group elements (XieXianshan via harsh)
|
||||
|
||||
HADOOP-7348. Change 'addnl' in getmerge util to be a flag '-nl' instead (XieXianshan via harsh)
|
||||
|
||||
BUGS
|
||||
|
||||
HADOOP-7851. Configuration.getClasses() never returns the default value.
|
||||
|
@ -260,11 +260,11 @@
|
||||
<section>
|
||||
<title> getmerge </title>
|
||||
<p>
|
||||
<code>Usage: hdfs dfs -getmerge <src> <localdst> [addnl]</code>
|
||||
<code>Usage: hdfs dfs -getmerge [-nl] <src> <localdst></code>
|
||||
</p>
|
||||
<p>
|
||||
Takes a source directory and a destination file as input and concatenates files in src into the destination local file.
|
||||
Optionally <code>addnl</code> can be set to enable adding a newline character at the end of each file.
|
||||
Optionally <code>-nl</code> flag can be set to enable adding a newline character at the end of each file during merge.
|
||||
</p>
|
||||
</section>
|
||||
|
||||
|
@ -45,26 +45,22 @@ public static void registerCommands(CommandFactory factory) {
|
||||
/** merge multiple files together */
|
||||
public static class Merge extends FsCommand {
|
||||
public static final String NAME = "getmerge";
|
||||
public static final String USAGE = "<src> <localdst> [addnl]";
|
||||
public static final String USAGE = "[-nl] <src> <localdst>";
|
||||
public static final String DESCRIPTION =
|
||||
"Get all the files in the directories that\n" +
|
||||
"match the source file pattern and merge and sort them to only\n" +
|
||||
"one file on local fs. <src> is kept.";
|
||||
"one file on local fs. <src> is kept.\n" +
|
||||
" -nl Add a newline character at the end of each file.";
|
||||
|
||||
protected PathData dst = null;
|
||||
protected String delimiter = null;
|
||||
|
||||
@Override
|
||||
protected void processOptions(LinkedList<String> args) throws IOException {
|
||||
CommandFormat cf = new CommandFormat(2, 3);
|
||||
CommandFormat cf = new CommandFormat(2, 3, "nl");
|
||||
cf.parse(args);
|
||||
|
||||
// TODO: this really should be a -nl option
|
||||
if ((args.size() > 2) && Boolean.parseBoolean(args.removeLast())) {
|
||||
delimiter = "\n";
|
||||
} else {
|
||||
delimiter = null;
|
||||
}
|
||||
delimiter = cf.getOpt("nl") ? "\n" : null;
|
||||
|
||||
dst = new PathData(new File(args.removeLast()), getConf());
|
||||
}
|
||||
@ -197,4 +193,4 @@ public static class CopyToLocal extends Get {
|
||||
public static final String USAGE = Get.USAGE;
|
||||
public static final String DESCRIPTION = "Identical to the -get command.";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -449,7 +449,7 @@
|
||||
<comparators>
|
||||
<comparator>
|
||||
<type>RegexpComparator</type>
|
||||
<expected-output>^-getmerge <src> <localdst> \[addnl\]:( |\t)*Get all the files in the directories that( )*</expected-output>
|
||||
<expected-output>^-getmerge \[-nl\] <src> <localdst>:( |\t)*Get all the files in the directories that( )*</expected-output>
|
||||
</comparator>
|
||||
<comparator>
|
||||
<type>RegexpComparator</type>
|
||||
@ -459,6 +459,10 @@
|
||||
<type>RegexpComparator</type>
|
||||
<expected-output>^( |\t)*one file on local fs. <src> is kept.( )*</expected-output>
|
||||
</comparator>
|
||||
<comparator>
|
||||
<type>RegexpComparator</type>
|
||||
<expected-output>^( |\t)*-nl Add a newline character at the end of each file.( )*</expected-output>
|
||||
</comparator>
|
||||
</comparators>
|
||||
</test>
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user