Відповіді:
За допомогою Cygwin (або доступу до машини Linux) ви могли
antiword file.doc | grep "my phrase"
або
catdoc file.doc | grep "my phrase"
Існує безліч перетворювачів формату файлів командного рядка, щоб схопитися аналогічно.
Чисто в Word може бути Ctrl + F (Find), а потім Find All - однак я не впевнений, чи всі версії MS Word мають кнопку Find All .
catdoc
segfault у кожному .doc
/ .docx
файлі, який я даю, і antiword
просто каже мені, що мій документ "не є документом Word". Чи знаєте ви якісь інші варіанти?
docx2txt
існує в сховищах Debian - може працювати. Я також роздивився б утиліту перетворення формату командного рядка OpenOffice / LibreOffice (unoconv), яку можна було б використовувати для тих же цілей.
Що означає "рядок" у контексті Word? Відображається рядок, який змінюється, якщо ви щось робите для форматування сторінки? Абзац? Щось ще?
Ви можете виконати купу речей за допомогою функцій пошуку та заміни Word, включаючи зміну форматування та інших неочевидних речей, але всі вони діятимуть лише на сам текст пошуку, а не на будь-який навколишній текст.
Не вистачає репліка для коментарів, але я можу побачити, що ця проблема щодо doc vs docx обговорювалася, тому кожен, хто переслідує нитку (як я), може вважати це корисним.
Вам не потрібен спеціальний інструмент для файлів docx. docx - це блискавки XML-файлів.
Щоб витягти та зняти XML, спробуйте щось на основі
unzip -p "*.docx" word/document.xml | sed -e 's/<[^>]\{1,\}>//g; s/[^[:print:]]\{1,\}//g'
Швидке, безкоштовне, відкрите та кросплатформенне рішення: https://github.com/phiresky/ripgrep-all