10 More Discussions You Might Find Interesting
1. UNIX for Beginners Questions & Answers
Need help in piping commands using xargs
I have several .tar.gz files that I need to list the folder content in a subdirectory.
For example,
a.tar.gz
b.tar.gz
c.tar.gz
The following command works great for each .tar.gz file but it's a pain to run the tar command for each file.
tar -tf... (11 Replies)
Discussion started by: april
11 Replies
2. Shell Programming and Scripting
I entered the following <zzz.list xargs showtell |more which does a echo "<<<<<<<<<<<<<<<<<<<<<<<<< $1 >>>>>>>>>>>>>>>>>>"
head -20 $1 The file zzz.list contains 525 lines representing user scripts (1 per line), but only the first, 181st, and 399th lines were processed. What am I missing?
TIA (2 Replies)
Discussion started by: wbport
2 Replies
3. Shell Programming and Scripting
I am trying to call xargs, however rm is complaining
find . -maxdepth 1 -name "*tests*" -print0 | xargs -0 rm
rm: missing operand
Try `rm --help' for more information. (3 Replies)
Discussion started by: kristinu
3 Replies
4. Homework & Coursework Questions
Hey guys. I'm very new to Unix. I'm pretty fluent in Java and C, but I have never actually used Unix for anything. I am in an Operating Systems course now and I have an assignment to write a piece of code that involves forks and piping. I'm stuck.
1. The problem statement, all variables and... (6 Replies)
Discussion started by: itsjimmy91
6 Replies
5. UNIX for Dummies Questions & Answers
Hey,
I want to create a new file (devices) with the 39th and the 40th character of the line wich is in the array line and in the file drivers.
But unfortunately my try doesn't work:
sed -n '$linep' drivers | cut -c 39-40 | echo >>devices Perhaps one of you can help me. Thank you!
emoly
... (0 Replies)
Discussion started by: emoly
0 Replies
6. Shell Programming and Scripting
Hi
I am trying to use "xargs" command to loop through each file, modify it and overwrite the old file with the modification but with the same file name.
I thought it is easy but I just can't get it to work
I tried the following
I thought {} would give me the current file name, but it... (1 Reply)
Discussion started by: tiger66
1 Replies
7. Solaris
I'm trying to get a count of all the files in a series of directories on a per directory basis. Directory structure is like (but with many more files):
/dir1/subdir1/file1.txt
/dir1/subdir1/file2.txt
/dir1/subdir2/file1.txt
/dir1/subdir2/file2.txt
/dir2/subdir1/file1.txt... (4 Replies)
Discussion started by: MartynAbbott
4 Replies
8. Shell Programming and Scripting
Hi
From the xargs man page (Solaris):
ls $1 | xargs -I {} -t mv $1/{} $2/{}
This would move all the files in directory $1 to directory $2
Problem 1:
In a shell script if I want to move files in d1 to d2
dir1=~/d1
dir2=~/d2
ls $dir1 | xargs -I {} -t mv $dir1/{} $dir2/{}
does not... (3 Replies)
Discussion started by: encrypted
3 Replies
9. UNIX for Dummies Questions & Answers
Can anyone interpret and tell me the way the below command works?
find * -name "*${msgType}" -mtime +${archiveDays} -prune -type f -print 2>/dev/null | xargs rm -f 2> /dev/null
Please tell me the usage of prune and xargs in the above command?
Looking forward your reply.
Thanks in... (1 Reply)
Discussion started by: venkatesht
1 Replies
10. Shell Programming and Scripting
i am writing a script to perform some mysqldumps and gzip them. The problem I am running into is that if the user specifies a database that doesn't exist, the error the mysql engine produces is still piped into gzip, and the exit code returned is 0. If I don't pipe into gzip, an exit code... (4 Replies)
Discussion started by: bitoffish
4 Replies
xargs(1) General Commands Manual xargs(1)
Name
xargs - construct argument list and execute command
Syntax
xargs [flags] [ command [initial-arguments] ]
Description
The command combines fixed initial-arguments with arguments read from standard input to execute a specified command one or more times. The
number of arguments read when a command is invoked and how they are combined is determined by the options specified.
The specified command, (which can be a Shell file) is searched for using ones' $PATH specification. If command is not specified, /bin/echo
is used.
Arguments read from standard input are defined as contiguous strings of characters delimited by one or more blanks, tabs, or newlines;
empty lines are always discarded. Blanks and tabs can be embedded as part of an argument if they contain an escape character or if they
are quoted. Characters enclosed in quotes (single or double) are taken literally, and the delimiting quotes are removed; a backslash ()
escapes the next character.
Options
Each argument list begins with the initial-arguments, followed by arguments read from standard input, with the exception of the -i option.
See the description of the -i option for more information.
The options -i, -l, and -n determine how arguments are selected when each command is invoked. If none of these options are specified, the
initial-arguments are followed by arguments read continuously from standard input until the internal buffer is full; then, command executes
with the accumulated arguments. This process repeats until no arguments exist. When conflicts arise, such as the -l option used with the
-n, the last option has precedence. The options values are as follows:
-lnumber
Execute command for each non-empty number lines of arguments from standard input. When command is invoked for the final time, it has
fewer lines of arguments if fewer than a specified number remain. A line ends with the first newline unless the last character of
the line is a blank or a tab; a trailing blank or tab signals continuation through the next non-empty line. If number is is not
specified, the value 1 is assumed. The option -x is forced.
-ireplstr (Insert mode)
Execute command for each line from standard input, taking the entire line as a single argument and inserting it in initial-arguments
for each occurrence of replstr. A maximum of five arguments specified in initial-arguments can contain one or more occurrence of
replstr. Blanks and tabs at the beginning of each line are discarded. A constructed arguments cannot exceed 255 characters and the
option -x is a forced. A {|} is assumed for replstr if not specified.
-nnumber
Execute command using as many standard input arguments as possible, up to the specified number arguments maximum. Fewer arguments
are used if their total size is greater than size characters, and when the last command is invoked, fewer number of arguments remain.
If the option -x is also include, each specified number of arguments must fit in the size limitation, or else xargs terminates execu-
tion.
-t (Trace mode)
Echo the command and each constructed argument list to file descriptor 2 prior to their execution.
-p (Prompt mode)
Asks the user whether or not command should be executed each time command is invoked. Trace mode (-t) is turned on to print the com-
mand instance to be executed, followed by a ?... prompt. A reply of y executes the command; any other response does not invoke that
particular command.
-x Causes the command xargs to terminate if an argument list is greater than the specified size of characters; the option -x is forced
by the options -i and -l. When the options -i, -l, or -n are included, the total length of all arguments must be within the speci-
fied size limit.
-ssize
The maximum size of each argument list is set to size characters; size must be a positive integer less than or equal to 470. If -s is
not included, 470 is the default. Note that the character count for size includes one extra character for each argument and the
count of characters in the command name.
-eeofstr
The option eofstr is taken as the logical end-of-file string. Underscore (_) is assumed for the logical EOF string if -e is not
specified. The value -e without eofstr specified turns off the logical EOF string capability; the underscore is taken literally.
The command xargs reads standard input until either end-of-file or the logical EOF string is encountered.
The command xargs terminates if it receives a return code of -1 from command or if it cannot execute command. When command is a Shell pro-
gram, it should explicitly exit with an appropriate value to avoid returning with -1. See for more information.
Examples
The following example moves all files from directory $1 to directory $2 and echoes the move command prior to executing it:
ls $1 | xargs -i -t mv $1/{} $2/{}
The following example combines the output of the parenthesized commands onto one line, which is then echoed to the end of file log:
(logname; date; echo $0 $*) | xargs >>log
In the next example, the user is prompted to specify which files in the current directory are to be archived. The first example archives
the files one at a time; the second example archives groups of files:
ls | xargs -p -l ar r arch
ls | xargs -p -l | xargs ar r arch
The following example executes diff(1) with successive pairs of arguments originally typed as Shell arguments:
echo $* | xargs -n2 diff
See Also
sh(1).
xargs(1)