[X-Unix] Script - works, but not where I need it to

Mike Gorski mgorski at computer.org
Wed Jun 30 20:02:53 PDT 2004


Bert Knabe wrote the following on 6/30/04 9:13 PM:
> 
> On Jun 30, 2004, at 8:31 PM, Victor Eijkhout wrote:
> 
>> At 20:08 -0500 2004/06/30, Bert Knabe wrote:
>> 
>>> find /Volumes/composing/\ \ \ Running\ Ads/* -mtime 1 -exec cp -p
>>> {} /Volumes/Online/\PDF\'S/In/ \;
>> 
>> 
>> What is that star doing there? The first argument of find is
>> supposed to be a single directory. The rest are commands starting
>> with a "-something" label.
> 
> 
> I'll have to ask the guy at corporate that wrote it for me. I assumed
> it was a wildcard, although I couldn't imagine why it would be
> necessary, since the idea was to copy files modified in the last 24
> hours.
> 
> But I don't think that would be the problem. The script works when
> run from my iMac (accessing the directories on the server), but gives
> the error:filecopy22.txt: /usr/bin/find: Argument list too long.

Actually the * probably is the problem. The shell expands the wildcard
into all the files/directories that are in "/Volumes/composing/\ \ \
Running\ Ads/" and *then* passes that list on to the find command. So,
if there are a lot of files in the directory find will get upset because the
list of files/directories passed as parameters to find will be long.

There is no need to use the wildcard with the find command. The find
command will find all the files regardless of the wildcard.

How many files are in the directory on your iMac compared to what's on
the server?

-Mike



More information about the X-Unix mailing list