Respuestas:
Con Cygwin (o acceso a una máquina Linux) podría
antiword file.doc | grep "my phrase"
o
catdoc file.doc | grep "my phrase"
Hay muchos convertidores de formato de archivo de línea de comandos para grep de manera similar.
La solución puramente en Word podría ser Ctrl + F (Buscar) y luego Buscar todo ; sin embargo, no estoy seguro de si todas las versiones de MS Word tienen el botón Buscar todo .
catdoc
violaciones de segmento en cada .doc
/ .docx
archivo se lo doy, y antiword
simplemente me dice mi documento "no es un documento de Word". ¿Conoces alguna otra opción?
docx2txt
existe en los repositorios de Debian, podría funcionar. También buscaría en la utilidad de conversión de formato de línea de comandos OpenOffice / LibreOffice (unoconv), que podría usarse para el mismo propósito.
¿Qué significa "línea" en un contexto de Word? La línea que se muestra, ¿qué cambia si le haces algo al formato de página? ¿El párrafo? ¿Algo más?
Puede hacer un montón de cosas con las funciones de buscar y reemplazar de Word, incluido el cambio de formato y otras cosas no obvias, pero todas ellas solo actuarán en el texto de buscar qué, no en el texto circundante.
Hay soporte para documentos MS - Word, PowerPoint, Excel - en CRGREP que he desarrollado como una herramienta gratuita de código abierto. También engloba otras cosas difíciles de buscar, como tablas de bases de datos, imágenes, audio, archivos, PDF y combinaciones de estos. Que te diviertas.
PowerGREP hará exactamente eso por usted y rápido, pero no de forma gratuita. Sin embargo, vale la pena cada centavo, en mi opinión. Además, hay una prueba gratuita de 30 días.
No tengo suficiente representante para comentar, pero puedo ver este tema de doc vs docx discutido, por lo que cualquiera que persiga el hilo (como yo) puede encontrar esto útil.
No necesita una herramienta especial para archivos docx. docx son archivos XML comprimidos.
Para extraer y eliminar el XML intente algo basado en
unzip -p "*.docx" word/document.xml | sed -e 's/<[^>]\{1,\}>//g; s/[^[:print:]]\{1,\}//g'
desde la línea de comando fu
Solución rápida, gratuita, de código abierto y multiplataforma: https://github.com/phiresky/ripgrep-all