1. As Mark says, you probably want the unescaped pipes. 2. You don't say the speed of your hard disk, but probably reading is far slower than grepping, so I would advise the pipes rather than the loop. 3. Don't forget to specify a case-sensitive search, it's much faster. Emmanuel On Sep 9, 2009, at 6:46 PM, Stockly, Ed wrote: > Hi, I have a rather large file (1 gig+) that contains pipe delimited > data. > > I'm running a shell script from AppleScript that pulls every line that > begins with a particular string. > > Do shell script "Grep ^" & foo & "\|" & myFile > > Takes a while, but it works. > > Often I have to extract several matches, and I'm wondering if it's > possible > to something like this: > > Do shell script "Grep ^" & foo & "\| ^" & foo1 & "\| ^" & foo2 & "\| > ^" & > foo7 & "\|" myFile > --doesn't work and I've tried numerous variations > > The result would be any lines that begin with any of those strings. > > Then, if that is possible, the next question would be is that more > efficient > than repeat through a loop for larger numbers of items (100+)? > > ES