12-27-2017
Now, these are very basic questions from quite broad a range of IT, and I'm not sure I can cover that to satisfaction. On top, there may be a language barrier, e.g with "occurrence". I'd advise to use a dictionary, as - to me - the meaning got immediately clear when seeing the translations. Please also consult introductory text books and / or man pages.
It might be worthwhile to internalize the concept of a string which you will encounter everywhere in IT (tools, databases, documents, files, ...) when needing to represent text. It can come in a variety of shapes, like fixed or varying length strings, zero terminated or with a leading length indicator, string constants, substrings, string concatenations, and what have you, and there are many tools, libraries, functions to handle them. Different digital items (numbers, logical values) can be output to screen as readable text representations only, not as the individual items themselves.
Then, there are text files, a loosely structured collection of (mostly) printable characters. In *nix systems, those consist of lines of characters terminated by a <new line> (\n, ^J, 0x0A) character. But this is not the only possible text representation. When reading a line from a file, you can put it into a single string variable, or split it into several substrings. If you do so by applying spaces and / or punctuation chars for separating, the substrings will be words. But any other separation is possible albeit not necessarily sensible. So, a line is sort of a superset of (a group of) strings.
A "command line" specifies a collection of a command name (perhaps including a path), zero or more options (with possible arguments), and zero or more parameters. Any of those is a (possibly one character) string, analysed by the command interpreter, and then supplied to the program being executed. Please be aware that the terms "argument" and "parameter" are not strictly distinguished between and both are loosely and interchangably used. (I neglected possible local variable assingments and redirections to avoid overcomplicaton.)
Last edited by RudiC; 12-27-2017 at 10:13 AM..
Reason: Some typos
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Can I use xargs to send a list of commands to a process, to be acted upon individually? Here's what I have: a file that contains numbers, one per line. The desired outcome it to send each number to a DB2 query. I thought xargs would work, but it doesn't. I tried it like this:
cat file | xargs |... (4 Replies)
Discussion started by: jpprial
4 Replies
2. UNIX for Advanced & Expert Users
I discovered that GNU's xargs has a -P option to allow its processes to run in parallel. Great! Is this a GNU thing, or is it supported by other platforms as well? (4 Replies)
Discussion started by: otheus
4 Replies
3. Shell Programming and Scripting
hi
i just want to know that how do we use xargs command to find files which are greater than specified memory
in a given directory (6 Replies)
Discussion started by: sumit the cool
6 Replies
4. Shell Programming and Scripting
Hi,
I have a requirement to RCP the files from remote server to local server.
Also the RCP has to run in parallel. However using 'xargs' retrives 2 file names during each loop. How do we restrict to only one file name using xargs and loop till remaining files.
I use the below code for... (2 Replies)
Discussion started by: senthil3d
2 Replies
5. Shell Programming and Scripting
Hello there,
Let me show you a simple example of what I am trying to achieve:
1) I have an input text file with some lines:
1 a
2 b
3 c
2) And I want to run a command with these lines as arguments (+ arbitrary extra arguments). For example:
$ command "1 a" "2 b" "3 c" "bye"
I... (7 Replies)
Discussion started by: tokland
7 Replies
6. Shell Programming and Scripting
hi
Could any one please tell me the option using which we can run multiple commands using xargs
I have list of files, I want to run dos2unix and chmod at one shot on them
I tried google n searched man pages but couldnt really find the solution , please help
right now im doing this
ls... (4 Replies)
Discussion started by: sunilmenhdiratt
4 Replies
7. Shell Programming and Scripting
I have dir with many files ( close to 4M ) .
$ ls -la
total 76392
drwxr-xr-x 10 oracle dba 512 Jun 06 14:39 .
drwxr-xr-x 11 oracle dba 512 Dec 20 13:21 ..
drwxr-xr-x 2 oracle dba 39074816 Jun 15 14:07 ad
I am trying to delete them using... (8 Replies)
Discussion started by: talashil
8 Replies
8. Shell Programming and Scripting
Using the bash shell I'm trying to either create a command for the command line or a script that will show netstat info for a given process name. Here is an example of what I'm trying to do:$ ps aux |grep catalina |grep -v grep | awk '{print $2}'
5132
$ netstat -nlp |grep 5132
(Not all processes... (11 Replies)
Discussion started by: axiopisty
11 Replies
9. Shell Programming and Scripting
Hello, I need some help with xargs
$ ls
aaa bbb ccc ddd$ ls | xargs -I{} ls -la {}
-rw-rw-r--. 1 xxx xx 0 May 30 20:04 aaa
-rw-rw-r--. 1 xxx xx 0 May 30 20:04 bbb
-rw-rw-r--. 1 xxx xx 0 May 30 20:04 ccc
-rw-rw-r--. 1 xxx xx 0 May 30 20:04 dddit's possible to have output like this with... (3 Replies)
Discussion started by: vikus
3 Replies
10. UNIX for Dummies Questions & Answers
Hi,
can anyone tell me in detail ?
what the following do in detail ?
I am trying to get a largest number in a list
Thanks
Tao
LARGEST=$(echo $* | xargs -n1 | sort -nr | tail -1) (3 Replies)
Discussion started by: ccp
3 Replies
LEARN ABOUT OPENDARWIN
xargs
XARGS(1) BSD General Commands Manual XARGS(1)
NAME
xargs -- construct argument list(s) and execute utility
SYNOPSIS
xargs [-0pt] [-E eofstr] [-I replstr [-R replacements]] [-J replstr] [-L number] [-n number [-x]] [-s size] [utility [argument ...]]
DESCRIPTION
The xargs utility reads space, tab, newline and end-of-file delimited arguments from the standard input and executes the specified utility
with them as arguments.
The utility and any arguments specified on the command line are given to the utility upon each invocation, followed by some number of the
arguments read from standard input. The utility is repeatedly executed until standard input is exhausted.
Spaces, tabs and newlines may be embedded in arguments using single (`` ' '') or double (``"'') quotes or backslashes (``''). Single quotes
escape all non-single quote characters, excluding newlines, up to the matching single quote. Double quotes escape all non-double quote char-
acters, excluding newlines, up to the matching double quote. Any single character, including newlines, may be escaped by a backslash.
The options are as follows:
-0 Change xargs to expect NUL (`` '') characters as separators, instead of spaces and newlines. This is expected to be used in concert
with the -print0 function in find(1).
-E eofstr
Use eofstr as a logical EOF marker.
-I replstr
Execute utility for each input line, replacing one or more occurences of replstr in up to replacements (or 5 if no -R flag is speci-
fied) arguments to utility with the entire line of input. The resulting arguments, after replacement is done, will not be allowed to
grow beyond 255 bytes; this is implemented by concatenating as much of the argument containing replstr as possible, to the con-
structed arguments to utility, up to 255 bytes. The 255 byte limit does not apply to arguments to utility which do not contain
replstr, and furthermore, no replacement will be done on utility itself. Implies -x.
-J replstr
If this option is specified, xargs will use the data read from standard input to replace the first occurrence of replstr instead of
appending that data after all other arguments. This option will not effect how many arguments will be read from input (-n), or the
size of the command(s) xargs will generate (-s). The option just moves where those arguments will be placed in the command(s) that
are executed. The replstr must show up as a distinct argument to xargs. It will not be recognized if, for instance, it is in the
middle of a quoted string. Furthermore, only the first occurrence of the replstr will be replaced. For example, the following com-
mand will copy the list of files and directories which start with an uppercase letter in the current directory to destdir:
/bin/ls -1d [A-Z]* | xargs -J % cp -rp % destdir
-L number
Call utility for every number lines read. If EOF is reached and fewer lines have been read than number then utility will be called
with the available lines.
-n number
Set the maximum number of arguments taken from standard input for each invocation of the utility. An invocation of utility will use
less than number standard input arguments if the number of bytes accumulated (see the -s option) exceeds the specified size or there
are fewer than number arguments remaining for the last invocation of utility. The current default value for number is 5000.
-p Echo each command to be executed and ask the user whether it should be executed. An affirmative response, 'y' in the POSIX locale,
causes the command to be executed, any other response causes it to be skipped. No commands are executed if the process is not
attached to a terminal.
-R replacements
Specify the maximum number of arguments that -I will do replacement in.
-s size
Set the maximum number of bytes for the command line length provided to utility. The sum of the length of the utility name, the
arguments passed to utility (including NULL terminators) and the current environment will be less than or equal to this number. The
current default value for size is ARG_MAX - 4096.
-t Echo the command to be executed to standard error immediately before it is executed.
-x Force xargs to terminate immediately if a command line containing number arguments will not fit in the specified (or default) command
line length.
If no utility is specified, echo(1) is used.
Undefined behavior may occur if utility reads from the standard input.
The xargs utility exits immediately (without processing any further input) if a command line cannot be assembled, utility cannot be invoked,
an invocation of the utility is terminated by a signal or an invocation of the utility exits with a value of 255.
DIAGNOSTICS
The xargs utility exits with a value of 0 if no error occurs. If utility cannot be found, xargs exits with a value of 127, otherwise if
utility cannot be executed, xargs exits with a value of 126. If any other error occurs, xargs exits with a value of 1.
SEE ALSO
echo(1), find(1), execvp(3)
STANDARDS
The xargs utility is expected to be IEEE Std 1003.2 (``POSIX.2'') compliant. The -J and -R options are non-standard FreeBSD extensions which
may not be available on other operating systems.
HISTORY
The xargs command appeared in PWB UNIX.
BUGS
If utility attempts to invoke another command such that the number of arguments or the size of the environment is increased, it risks
execvp(3) failing with E2BIG.
BSD
May 7, 2001 BSD