Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!pacific.mps.ohio-state.edu!linac!att!ucbvax!ICAEN.UIOWA.EDU!dbfunk From: dbfunk@ICAEN.UIOWA.EDU (David B Funk) Newsgroups: comp.sys.apollo Subject: Re: backing up files Message-ID: <9104030753.AA08357@icaen.uiowa.edu> Date: 3 Apr 91 07:25:22 GMT Sender: daemon@ucbvax.BERKELEY.EDU Organization: Iowa Computer Aided Engineering Network, University of Iowa Lines: 55 In posting <9104021508.AA11965@pan.ssec.honeywell.com>, John Thompson writes: >> I want to back up all the .ftn, .f, .c, and .h files in a directory tree >> that is about 40 meg binaries and source. I did a tried this: >> >> wbak `find $SRC \( -name '*.[fch]' -o -name '*.ftn' \) ...` \ >> -dev ct -f 1 >> >> This basic command came back with an 'argument list too long' error message >> or something to that effect. It diddn't work. >> [ stuff deleted ] > >The problem is almost certainly that the resulting list of names is just too >long. This can happen in Unix as well as Aegis, so I wouldn't start screaming >about one flavor of the O/S or the other. > >Aegis programs will perform wildcard expansion _after_ invocation (unlike >Unix, where each shell is responsible for expanding the argument list). >Because of this, if you have Aegis loaded (even if you don't? Im not sure) >you can easily do it by not expanding the wildcards with your 'find' command. >You may need to escape or quote the meta-chars to avoid having your shell >expand them, though. > /usr/apollo/bin/wbak ?*.[fch] ?*.ftn -dev ct -f 1 >is the base command. I lose track of the escape-char rules, but I imagine >that you might need something along the lines of > /usr/apollo/bin/wbak \?\*.\[fch\] \?\*.ftn -dev ct -f 1 >in order to prevent cron or it's default shell from expanding them. John, your theory is right but your implementation missed one detail. There are _2_ versions of "wbak" shipped with Domain/OS. There is the file "/com/wbak" and the file "/usr/apollo/bin/wbak", they are _not_ the same program (almost but not quite). The "/com" version uses the traditional Aegis style wild card expansion via the "cl" library, the "/usr/apollo/bin" version has been 'Unixized' and has the "cl" wild card expansion turned off, so it depends upon the shell to do the wildcard expansion. This is to protect Unix users from choking if they try to back up a file that happens to contain an Aegis wildcard string (no surprises). So you would need to explicitly invoke "/com/wbak" from within a Unix shell if you wanted the power of the "cl" wildcard library to work for you. Thus your example would need to be: /com/wbak '?*.[fch]' '?*.ftn' -dev ct -f 1 Based upon the original poster's article, I think that he was looking for the tree walking capability of the '...' wildcard. So what he needed would be: /com/wbak '.../?*.[fch]' '.../?*.ftn' -dev ct -f 1 As far as I know, there are 3 such 'schitzoid' programs (seperate Aegis & Unix versions): prf, rwmt, and wbak. This is because of the need for the differences in wildcard handling. Dave Funk