egrep and Arg list too long


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers egrep and Arg list too long
# 1  
Old 04-24-2002
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 following :

egrep -i -l '13-June-2001' 'name of report' *

I always get Arg list too long

can anyone help me please?

kingo
# 2  
Old 04-24-2002
If you are searching for two strings, use -

egrep -i -e "string1" -e "string2" *
# 3  
Old 04-24-2002
xargs is COOL!!!

Actually you need to use xargs.

egrep -i -e "string1" -e "string2" *| xargs

Do a man on the details.

Basically, it negates the "arg list too long" message.


Smilie
# 4  
Old 05-21-2002
Re: xargs is COOL!!!

Quote:
Originally posted by Kelam_Magnus
Actually you need to use xargs.

egrep -i -e "string1" -e "string2" *| xargs

Do a man on the details.

Basically, it negates the "arg list too long" message.


Smilie
Hi,
I am trying to do something similar, but I need
to get the results ONLY with matching BOTH search
patterns. When I did the above example I got
results with both patterns AND with either pattern.

For example, I only want to find "date" and "Finished"
and maybe another string from a text file not just "date"
or just "Finished"...

Thanks in Advance!Smilie
# 5  
Old 05-22-2002
Then you must do:

cat filename | grep string1 | grep string2 | xargs


This way it will use the first string as a filter and then pass that on to the second string as a further filter.

grep is cool too!

Smilie Smilie Smilie
# 6  
Old 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
# 7  
Old 05-22-2002
Quote:
Originally posted by Kelam_Magnus
Then you must do:

cat filename | grep string1 | grep string2 | xargs


This way it will use the first string as a filter and then pass that on to the second string as a further filter.

grep is cool too!

Smilie Smilie Smilie
Thanks!

Actually, I thought about that, but I was trying to do
some kind of grep/egrep command without pipes. I
guess then that you can not use grep to find two
different strings on the same line.Smilie
 
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 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

6. UNIX for Dummies Questions & Answers

execvp:ar:Arg list too long -> while linking

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

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 Advanced & Expert Users

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 Thanks enc (8 Replies)
Discussion started by: encrypted
8 Replies

9. 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

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