Grep no Microsoft Word?


10

Grep no Microsoft Word?

Eu gostaria de extrair todas as linhas com uma determinada sequência de caracteres de um documento do Word. No mundo unix ... grep faz isso sem falhas. O Windows é menos que óbvio para mim.

Respostas:


10

Com Cygwin (ou acesso a uma máquina Linux), você pode

antiword file.doc | grep "my phrase"

ou

catdoc file.doc | grep "my phrase"

Existem muitos conversores de formato de arquivo de linha de comando disponíveis para grep de maneira semelhante.

A solução puramente in-Word pode ser Ctrl + F (Find) e, em seguida, Find All - no entanto, não tenho certeza se todas as versões do MS Word têm o botão Find All .


2
Quando vi o título da pergunta, pensei "Ha! Isso seria legal, não seria"? Nunca mais devo subestimar os programadores do GNU.
Phoshi

A versão mais recente do catdocsegfaults em todos os arquivos .doc/ .docxque eu dou e antiwordapenas diz que meu documento "não é um documento do Word". Você conhece outras opções?
detly

Nada que eu usei ... A pesquisa rápida mostra que docx2txtexiste nos repositórios Debian - pode funcionar. Também examinaria o utilitário de conversão de formato de linha de comando OpenOffice / LibreOffice (unoconv), que poderia ser usado para o mesmo objetivo.
Chronos

3

Eu sei que isso parece primitivo, mas o que está impedindo você de salvar o arquivo como .txt e, em seguida, rasgá-lo ao seu gosto.


2
Ter centenas deles para fazer isso, é o que.
tchrist

1

O que significa "linha" em um contexto do Word? A linha exibida, que muda se você fizer alguma coisa na formatação da página? O parágrafo? Algo mais?

Você pode fazer várias coisas com as funções de localizar e substituir do Word, incluindo alterar a formatação e outras coisas não óbvias, mas todas elas atuarão apenas no próprio texto de localização, não em qualquer texto ao redor.


grep tem esse amor de regex!
Phoshi #

1

Há suporte para documentos do MS - Word, PowerPoint, Excel - no CRGREP, que desenvolvi como uma ferramenta de código- fonte livre. Ele também recebe outras coisas difíceis de pesquisar, como tabelas de banco de dados, imagens, áudio, arquivos, PDF e combinações deles. Diverta-se.



0

Não tenho representante suficiente para comentar, mas eu posso ver esse problema doc vs docx discutido para que qualquer pessoa que esteja perseguindo o tópico (como eu era) possa achar isso útil.

Você não precisa de uma ferramenta especial para arquivos docx. docx são arquivos XML compactados.

Para extrair e remover o XML, tente algo baseado em

unzip -p "*.docx" word/document.xml | sed -e 's/<[^>]\{1,\}>//g; s/[^[:print:]]\{1,\}//g'

da linha de comando fu


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.