aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--findutils/Config.in36
-rw-r--r--include/usage.h23
2 files changed, 51 insertions, 8 deletions
diff --git a/findutils/Config.in b/findutils/Config.in
index c66da742c..da8017af6 100644
--- a/findutils/Config.in
+++ b/findutils/Config.in
@@ -97,13 +97,37 @@ config CONFIG_XARGS
xargs is used to execute a specified command on
every item from standard input.
-config CONFIG_FEATURE_XARGS_FANCY
- bool " Enable extra options (-x -s -n and -E)"
- default y
+config CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION
+ bool " Enable prompt and confirmation option -p"
+ default n
depends on CONFIG_XARGS
help
- Default xargs only provides the -t option, this enables the
- x, s, n and E options.
+ Support prompt the user about whether to run each command
+ line and read a line from the terminal.
-endmenu
+config CONFIG_FEATURE_XARGS_SUPPORT_QUOTES
+ bool " Enable support single and double quotes and backslash"
+ default n
+ depends on CONFIG_XARGS
+ help
+ Default xargs unsupport single and double quotes
+ and backslash for can use aruments with spaces.
+config CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT
+ bool " Enable support options -x"
+ default n
+ depends on CONFIG_XARGS
+ help
+ Enable support exit if the size (see the -s or -n option)
+ is exceeded.
+
+config CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM
+ bool " Enable options -0"
+ default n
+ depends on CONFIG_XARGS
+ help
+ Enable input filenames are terminated by a null character
+ instead of by whitespace, and the quotes and backslash
+ are not special.
+
+endmenu
diff --git a/include/usage.h b/include/usage.h
index 0b03102a7..851023ea5 100644
--- a/include/usage.h
+++ b/include/usage.h
@@ -2736,13 +2736,32 @@
#define whoami_full_usage \
"Prints the user name associated with the current effective user id."
+#ifdef CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION
+#define USAGE_XARGS_CONFIRMATION(a) a
+#else
+#define USAGE_XARGS_CONFIRMATION(a)
+#endif
+#ifdef CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT
+#define USAGE_XARGS_TERMOPT(a) a
+#else
+#define USAGE_XARGS_TERMOPT(a)
+#endif
+#ifdef CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM
+#define USAGE_XARGS_ZERO_TERM(a) a
+#else
+#define USAGE_XARGS_ZERO_TERM(a)
+#endif
+
+
#define xargs_trivial_usage \
- "[COMMAND] [-prt] [ARGS...]"
+ "[COMMAND] [OPTIONS] [ARGS...]"
#define xargs_full_usage \
"Executes COMMAND on every item given by standard input.\n\n" \
"Options:\n" \
- "\t-p\tPrompt the user about whether to run each command\n" \
+ USAGE_XARGS_CONFIRMATION("\t-p\tPrompt the user about whether to run each command\n") \
"\t-r\tDo not run command for empty readed lines\n" \
+ USAGE_XARGS_TERMOPT("\t-x\tExit if the size is exceeded\n") \
+ USAGE_XARGS_ZERO_TERM("\t-0\tInput filenames are terminated by a null character\n") \
"\t-t\tPrint the command line on stderr before executing it."
#define xargs_example_usage \
"$ ls | xargs gzip\n" \