Grep dans Microsoft Word?

10

Grep dans Microsoft Word?

Je voudrais extraire toutes les lignes d'une chaîne donnée d'un document Word. Dans le monde Unix ... grep le fait sans problème. Windows est moins qu'évident pour moi.

fretje
la source

Réponses:

10

Avec Cygwin (ou l'accès à une machine Linux), vous pourriez

antiword file.doc | grep "my phrase"

ou

catdoc file.doc | grep "my phrase"

Il existe de nombreux convertisseurs de format de fichier de ligne de commande pour grep de la même manière.

La solution purement dans Word pourrait être Ctrl + F (Rechercher), puis Rechercher tout - cependant, je ne sais pas si toutes les versions de MS Word ont le bouton Rechercher tout .

chronos
la source
2
Quand j'ai vu le titre de la question, j'ai pensé "Ha! Ce serait bien, non". Plus jamais je ne devrais sous-estimer les programmeurs GNU.
Phoshi
La version la plus récente de catdocsegfaults sur chaque fichier .doc/ .docxje lui donne, et antiwordme dit juste que mon document "n'est pas un document Word". Connaissez-vous d'autres options?
detly
Rien de ce que j'ai utilisé ... La recherche rapide montre qu'il docx2txtexiste dans les référentiels Debian - pourrait fonctionner. J'examinerais également l'utilitaire de conversion de format de ligne de commande OpenOffice / LibreOffice (unoconv), qui pourrait être utilisé dans le même but.
chronos
3

Je sais que cela semble primitif, mais qu'est-ce qui vous empêche d'enregistrer le fichier au format .txt et de le déchirer à votre convenance.

Tour
la source
2
Avoir des centaines d'entre eux pour le faire, c'est quoi.
tchrist
1

Que signifie «ligne» dans un contexte Word? La ligne affichée, qui change si vous faites quoi que ce soit au formatage de la page? Le paragraphe? Autre chose?

Vous pouvez faire beaucoup de choses avec les fonctions de recherche et de remplacement de Word, y compris la modification de la mise en forme et d'autres choses non évidentes, mais toutes n'agiront que sur le texte de recherche lui-même, pas sur le texte environnant.

Martha
la source
grep a ce regex lovin ', cependant!
Phoshi
1

Il existe un support pour les documents MS - Word, PowerPoint, Excel - dans CRGREP que j'ai développé comme un outil open source gratuit. Il accueille également d'autres éléments difficiles à rechercher, tels que les tables de base de données, les images, l'audio, les archives, les PDF et leurs combinaisons. S'amuser.

Craig
la source
0

PowerGREP fera exactement cela pour vous, et rapidement - mais pas gratuitement. Cela vaut chaque centime, à mon avis. De plus, il y a un essai gratuit de 30 jours.

Capture d'écran de PowerGREP recherchant dans un fichier Word

Tim Pietzcker
la source
0

Pas assez de représentants pour commenter, mais je peux voir ce problème doc vs docx discuté, donc toute personne poursuivant le fil (comme moi) peut trouver cela utile.

Vous n'avez pas besoin d'un outil spécial pour les fichiers docx. docx sont des fichiers XML zippés.

Pour extraire et supprimer le XML, essayez quelque chose basé sur

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

à partir de la ligne de commande fu

Fafhrd
la source