arg list too long


 
Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users arg list too long
# 1  
Old 10-26-2004
arg list too long

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
Quote:
The system could not handle the number of arguments given to a
command or program when it combined those arguments with the
environment's exported shell variables. The argument list limit
is the size of the argument list plus the size of the
environment's exported shell variables.

The easiest solution is to reduce the size of the parent process
environment by unsetting extraneous environment variables. (See
the man page for the shell you're using to find out how to list
and change your environment variables.) Then run the program
again.

An argument list longer than ARG_MAX bytes was presented to a
member of the exec() family of system calls.

The symbolic name for this error is E2BIG, errno=7.
Thanks
enc
# 2  
Old 10-27-2004
Check out the xargs command. Can you post the command that is failing?
# 3  
Old 10-27-2004
I have a dirctory(in fact many directories) for which I have to grep
a certain string -In my case a 10 digit number starting with 011
code:
Quote:
dirs=`ls`
for dir in $dirs
do
cd $dir
grep '^011.......$' *| cut -f1 -d :
done
For directories having a lot many files it says
/usr/bin/grep Arg list too long

Would find command help me?
find . -name * -exec egrep '^011......$' /dev/null {} \;

Thanks
enc
# 4  
Old 10-28-2004
I think the find syntax as you have it will have the same problem. If you use xargs like this you may have some luck. I am not anywhere I can test it right now to confirm for you but this syntax may work:

find ./ -print | xargs grep '^011.......$' *| cut -f1 -d :

If you run this from your top level directory where you were running your script, you should get the results you want.
# 5  
Old 10-29-2004
Quote:
find ./ -print | xargs grep '^011.......$' *| cut -f1 -d :
Gives the output while searching in a single directory:
xargs: a single arg was greater than max argsize of 2048 characters

Any Ideas??
enc
# 6  
Old 10-29-2004
Drop the "*" from the grep,

find ./ -print | xargs grep -l '^011.......$'

You also won't need the cut, use -l (ell) to grep to print the matching filenames.

Cheers
ZB
# 7  
Old 10-30-2004
Thanks jazzybob you saved my day!!
But I was wondering why

find ./ -print | xargs grep '^011.......$' *| cut -f1 -d :

did not work in the first place.

Chill
enc
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Arg list too long

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

2. Shell Programming and Scripting

arg list too long error

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

3. Shell Programming and Scripting

arg list too long

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

4. UNIX for Dummies Questions & Answers

Arg List too Long in SCP

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

5. UNIX for Dummies Questions & Answers

arg list too long when trying to tar files

Hi, I am trying to perform this task: tar -cvf tar.newfile ??????.bas I got error "arg list too long". Is ther any way around? I have about 1500 file need to be tar together. Thanks in advance (5 Replies)
Discussion started by: jds3
5 Replies

6. UNIX for Dummies Questions & Answers

arg list too long when mv files?

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

ls -t arg list too long

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

8. UNIX for Dummies Questions & Answers

zcat --> Arg list too long

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

9. UNIX for Dummies Questions & Answers

egrep and Arg list too long

hi everyone, We have a heck of a lot of files in a particular directory and I need to search through all of them to find a list of all files containing particular text strings...one being a date and the other being the name of the report that is printed on the files..... I've tried the... (6 Replies)
Discussion started by: kingo
6 Replies

10. UNIX for Dummies Questions & Answers

arg list too long

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
Login or Register to Ask a Question