Câu trả lời:
Với Cygwin (hoặc truy cập vào máy Linux), bạn có thể
antiword file.doc | grep "my phrase"
hoặc là
catdoc file.doc | grep "my phrase"
Có rất nhiều trình chuyển đổi định dạng tệp dòng lệnh ra khỏi grep theo cách tương tự.
Giải pháp hoàn toàn trong Word có thể là Ctrl + F (Tìm) và sau đó Tìm tất cả - tuy nhiên, tôi không chắc liệu tất cả các phiên bản của MS Word có nút Tìm tất cả hay không .
catdoc
segfaults trên mỗi .doc
/ .docx
tệp tôi cung cấp và antiword
chỉ cho tôi biết tài liệu của tôi "không phải là Tài liệu Word". Bạn có biết bất kỳ lựa chọn khác?
docx2txt
tồn tại trong kho Debian - có thể hoạt động. Tôi cũng sẽ xem xét tiện ích chuyển đổi định dạng dòng lệnh OpenOffice / LibreOffice (unoconv), có thể được sử dụng cho cùng một mục đích.
"Dòng" có nghĩa là gì trong ngữ cảnh Word? Dòng hiển thị, thay đổi nếu bạn làm bất cứ điều gì để định dạng trang? Đoạn văn? Thứ gì khác?
Bạn có thể thực hiện một loạt các công cụ với các chức năng tìm và thay thế của Word, bao gồm thay đổi định dạng và những thứ không rõ ràng khác, nhưng tất cả chúng sẽ chỉ hoạt động trên chính văn bản tìm thấy, không phải trên bất kỳ văn bản xung quanh nào.
PowerGREP sẽ làm chính xác điều đó cho bạn và nhanh chóng - nhưng không miễn phí. Tuy nhiên, nó đáng giá từng xu. Thêm vào đó, có bản dùng thử miễn phí 30 ngày.
Không có đủ đại diện để bình luận nhưng tôi có thể thấy vấn đề doc vs docx này được thảo luận để bất kỳ ai theo đuổi chủ đề (như tôi) có thể thấy điều này hữu ích.
Bạn không cần một công cụ đặc biệt cho các tệp docx. docx là các tệp XML được nén.
Để trích xuất và tách XML, hãy thử một cái gì đó dựa trên
unzip -p "*.docx" word/document.xml | sed -e 's/<[^>]\{1,\}>//g; s/[^[:print:]]\{1,\}//g'
từ dòng lệnh fu
Giải pháp nhanh, miễn phí, mã nguồn mở và đa nền tảng: https://github.com/phiresky/ripgrep-all