Ответы:
С Cygwin (или доступом к машине с Linux) вы можете
antiword file.doc | grep "my phrase"
или же
catdoc file.doc | grep "my phrase"
Есть много конвертеров форматов файлов командной строки, чтобы аналогичным образом делать grep .
Чисто в Word решение может быть Ctrl + F (Найти), а затем Найти все - однако, я не уверен, есть ли во всех версиях MS Word кнопка Найти все .
catdoc
segfaults в каждом .doc
/ .docx
файле, который я даю, antiword
просто говорит мне, что мой документ "не является документом Word". Знаете ли вы какие-либо другие варианты?
docx2txt
существует в репозиториях Debian - может работать. Я также изучил бы утилиту преобразования формата командной строки OpenOffice / LibreOffice (unoconv), которую можно использовать для той же цели.
Что означает «линия» в контексте Word? Отображаемая строка, что изменится, если вы сделаете что-нибудь с форматированием страницы? Параграф? Что-то другое?
С помощью функций поиска и замены Word вы можете делать кучу вещей, включая изменение форматирования и другие неочевидные вещи, но все они будут действовать только на сам текст find-what, а не на любой окружающий текст.
PowerGREP сделает именно это для вас и быстро, но не бесплатно. Хотя, на мой взгляд, это стоит каждой копейки. Плюс, есть 30-дневная бесплатная пробная версия.
Недостаточно представителей, чтобы комментировать, но я вижу, что эта проблема с документами и документами обсуждалась, поэтому любой, кто преследует тему (как и я), может найти это полезным.
Вам не нужен специальный инструмент для файлов DOCX. docx - это сжатые файлы XML.
Чтобы извлечь и удалить XML, попробуйте что-нибудь на основе
unzip -p "*.docx" word/document.xml | sed -e 's/<[^>]\{1,\}>//g; s/[^[:print:]]\{1,\}//g'