05-22-2002
Re: xargs is COOL!!!
Quote:
Originally posted by Kelam_Magnus
egrep -i -e "string1" -e "string2" *| xargs
That won't work. That * gets expanded and it's too late for xargs to help. Instead, you gotta let xargs run several copies of the command without ever using a *. Like this:
ls | xargs grep -i -e "string1" -e "string2"
Putting xargs by itself at the end of a pipeline simply gathers all the output lines, strings them together, and spilts them at MAXLINE.
Try:
cat somefile
cat somefile | xargs
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
I do ls -l ABC*, I get arg list too long message. This will not happen if ABC* has small no of files I believe 4000 files is limit. Any way of avoiding this.
I even tried like this
for i in `ls -l ABC*`
do
echo $i
done
Same problem.
Any solution would be great.
I am on HP-UX... (5 Replies)
Discussion started by: vingupta
5 Replies
2. UNIX for Dummies Questions & Answers
Hi all
I have more than 1000 files in a folder and when ever i use a "compress" or "zcat" command it give error
/bin/zcat: Arg list too long. .
any solution for this :o (3 Replies)
Discussion started by: muneebr
3 Replies
3. UNIX for Advanced & Expert Users
Does anyone have a solution for arg list too long error.
I have got this from the web but I fail to make any sense out of it
Thanks
enc (8 Replies)
Discussion started by: encrypted
8 Replies
4. UNIX for Dummies Questions & Answers
echo dirname/filename* | xargs ls -t
As a substitute doesn't give the results desired when I exceed the buffer size. I still want the files listed in chronological order, unfortunately xargs releases the names piecemeal...does anyone have any ideas? :( (4 Replies)
Discussion started by: CSU_Ram
4 Replies
5. UNIX for Dummies Questions & Answers
I get this error :
execvp:ar:Arg list too long
when i am trying to link the .obj files created on unix box.
Any resolution to this?
Thanks
Mohit (1 Reply)
Discussion started by: mohitp
1 Replies
6. UNIX for Dummies Questions & Answers
hello all
i need some help because i am a unix/linux dummy...i have the following:
DIR1> has 121437 files in it with varying dates going back to early April,
a sub dir DIR1/DIR2> has 55835 files in it
I need to move all files (T*.*) out of DIR1 into DIR2 that are older than today?
Ive been... (2 Replies)
Discussion started by: jamos007
2 Replies
7. UNIX for Dummies Questions & Answers
Hey guys. I have a program written in which i am trying to get the files from one remote machine and transferring the files to another remote machine using SCP.
It works fine for 50 or 60 files but when the files grows to 250 then i get an error message stating "Arg list too long".
#scp -p... (5 Replies)
Discussion started by: chris1234
5 Replies
8. Shell Programming and Scripting
Hi,
Help. I have a file that contains a list of users in a file. I want to cat the content of the file and feed it into sed to a preformated report. The error I got is "ksh: /usr/bin/sed: arg list too long" My method below.
A=`cat FILE1.txt`
B=`echo $A`
sed "s#USERLIST#$B#" FILE2 >... (2 Replies)
Discussion started by: Zenwork
2 Replies
9. Shell Programming and Scripting
Hello,
I'm trying to search through 30,000 files in 1 directory, and am getting the "arg list too long" error. I've searched this forum and have been playing around with xargs and can't get that to work either. I'm using ksh on Solaris.
Here's my original code:
nawk "/Nov 21/{_=2}_&&_--"... (14 Replies)
Discussion started by: Kristin_in_CO
14 Replies
10. UNIX for Dummies Questions & Answers
Hello All,
I am trying to find a file name with .sh exention from a list of .dat files inside a directory.
find /app/folder1/* -name '*.dat'| xargs grep '.sh'
ksh: /usr/local/bin/find: arg list too long
Please help me finding the command.
Thanks (3 Replies)
Discussion started by: tkhan9
3 Replies
XARGS(1L) XARGS(1L)
NAME
xargs - build and execute command lines from standard input
SYNOPSIS
xargs [-0prtx] [-e[eof-str]] [-i[replace-str]] [-l[max-lines]] [-n max-args] [-s max-chars] [-P max-procs] [--null] [--eof[=eof-str]]
[--replace[=replace-str]] [--max-lines[=max-lines]] [--interactive] [--max-chars=max-chars] [--verbose] [--exit] [--max-procs=max-procs]
[--max-args=max-args] [--no-run-if-empty] [--version] [--help] [command [initial-arguments]]
DESCRIPTION
This manual page documents the GNU version of xargs. xargs reads arguments from the standard input, delimited by blanks (which can be pro-
tected with double or single quotes or a backslash) or newlines, and executes the command (default is /bin/echo) one or more times with any
initial-arguments followed by arguments read from standard input. Blank lines on the standard input are ignored.
xargs exits with the following status:
0 if it succeeds
123 if any invocation of the command exited with status 1-125
124 if the command exited with status 255
125 if the command is killed by a signal
126 if the command cannot be run
127 if the command is not found
1 if some other error occurred.
OPTIONS
--null, -0
Input filenames are terminated by a null character instead of by whitespace, and the quotes and backslash are not special (every
character is taken literally). Disables the end of file string, which is treated like any other argument. Useful when arguments
might contain white space, quote marks, or backslashes. The GNU find -print0 option produces input suitable for this mode.
--eof[=eof-str], -e[eof-str]
Set the end of file string to eof-str. If the end of file string occurs as a line of input, the rest of the input is ignored. If
eof-str is omitted, there is no end of file string. If this option is not given, the end of file string defaults to "_".
--help Print a summary of the options to xargs and exit.
--replace[=replace-str], -i[replace-str]
Replace occurences of replace-str in the initial arguments with names read from standard input. Also, unquoted blanks do not termi-
nate arguments. If replace-str is omitted, it defaults to "{}" (like for `find -exec'). Implies -x and -l 1.
--max-lines[=max-lines], -l[max-lines]
Use at most max-lines nonblank input lines per command line; max-lines defaults to 1 if omitted. Trailing blanks cause an input
line to be logically continued on the next input line. Implies -x.
--max-args=max-args, -n max-args
Use at most max-args arguments per command line. Fewer than max-args arguments will be used if the size (see the -s option) is
exceeded, unless the -x option is given, in which case xargs will exit.
--interactive, -p
Prompt the user about whether to run each command line and read a line from the terminal. Only run the command line if the response
starts with `y' or `Y'. Implies -t.
--no-run-if-empty, -r
If the standard input does not contain any nonblanks, do not run the command. Normally, the command is run once even if there is no
input.
--max-chars=max-chars, -s max-chars
Use at most max-chars characters per command line, including the command and initial arguments and the terminating nulls at the ends
of the argument strings. The default is as large as possible, up to 20k characters.
--verbose, -t
Print the command line on the standard error output before executing it.
--version
Print the version number of xargs and exit.
--exit, -x
Exit if the size (see the -s option) is exceeded.
--max-procs=max-procs, -P max-procs
Run up to max-procs processes at a time; the default is 1. If max-procs is 0, xargs will run as many processes as possible at a
time. Use the -n option with -P; otherwise chances are that only one exec will be done.
SEE ALSO
find(1L), locate(1L), locatedb(5L), updatedb(1) Finding Files (on-line in Info, or printed)
XARGS(1L)