Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Grep in Microsoft Word?

I'd like to pull all lines with a given string from a word document. In unix world... grep does this without a glitch. Windows is less than obvious for me.

share|improve this question

migrated from serverfault.com Nov 13 '09 at 23:41

This question came from our site for professional system and network administrators.

4 Answers 4

With Cygwin (or access to a Linux machine) you could

antiword file.doc | grep "my phrase"

or

catdoc file.doc | grep "my phrase"

There are lots of command-line file format converters out there to grep in a similar fashion.

Purely in-Word solution could be to Ctrl+F (Find), and then Find All - however, I'm not sure if all versions of MS Word have Find All button.

share|improve this answer
2  
When I saw the question title I thought "Ha! That'd be nice, wouldn't it". Never again should I underestimate GNU programmers. –  Phoshi Nov 14 '09 at 0:08
    
The most recent version of catdoc segfaults on every .doc/.docx file I give it, and antiword just tells me my document "is not a Word Document". Do you know of any other options? –  detly Nov 1 at 1:53
    
Nothing that I've used... Quick search shows that docx2txt exists in Debian repositories - might work. I'd also look into the OpenOffice/LibreOffice command-line format conversion utility (unoconv), which could be used for the same purpose. –  chronos Nov 11 at 18:56

I know this sounds primitive, but what's stopping you from saving the file as .txt and then ripping it apart to your liking.

share|improve this answer
1  
Having hundreds of them to do it for, is what. –  tchrist Jan 30 '13 at 16:42

What does "line" mean in a Word context? The displayed line, which changes if you do anything to the page formatting? The paragraph? Something else?

You can do a bunch of stuff with Word's find-and-replace functions, including changing the formatting and other non-obvious things, but all of them will only act on the find-what text itself, not on any surrounding text.

share|improve this answer
    
grep's got that regex lovin', though! –  Phoshi Nov 14 '09 at 0:13

PowerGREP will do exactly that for you, and fast - but not free. It's worth every penny, though, in my opinion. Plus, there is a 30-day free trial.

Screenshot of PowerGREP searching through a Word file

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.