Grep in Microsoft Word?

10

Grep in Microsoft Word?

Ich möchte alle Zeilen mit einer bestimmten Zeichenfolge aus einem Word-Dokument ziehen. In der Unix-Welt ... macht grep dies ohne einen Fehler. Windows ist für mich weniger als offensichtlich.

fretje
quelle

Antworten:

10

Mit Cygwin (oder Zugriff auf einen Linux-Computer) könnten Sie

antiword file.doc | grep "my phrase"

oder

catdoc file.doc | grep "my phrase"

Es gibt viele Konverter für Befehlszeilendateiformate, die auf ähnliche Weise grep .

Eine reine In-Word-Lösung könnte Strg + F (Suchen) und dann Alle suchen sein. Ich bin mir jedoch nicht sicher, ob alle Versionen von MS Word die Schaltfläche Alle suchen haben.

Chronos
quelle
2
Als ich den Fragentitel sah, dachte ich "Ha! Das wäre schön, nicht wahr?". Nie wieder sollte ich GNU-Programmierer unterschätzen.
Phoshi
Die neueste Version von catdocSegfaults für jede .doc/ .docxDatei, die ich gebe, und antiwordsagt mir nur, dass mein Dokument "kein Word-Dokument ist". Kennen Sie andere Möglichkeiten?
Detly
Nichts, was ich verwendet habe ... Die Schnellsuche zeigt, dass docx2txtes in Debian-Repositorys existiert - könnte funktionieren. Ich würde auch das OpenOffice / LibreOffice-Dienstprogramm zur Konvertierung des Befehlszeilenformats (unoconv) untersuchen, das für denselben Zweck verwendet werden könnte.
Chronos
3

Ich weiß, das klingt primitiv, aber was hindert Sie daran, die Datei als .txt zu speichern und sie dann nach Ihren Wünschen auseinander zu reißen.

Turm
quelle
2
Hunderte von ihnen dafür zu haben, ist was.
Tchrist
1

Was bedeutet "Linie" in einem Word-Kontext? Die angezeigte Zeile, die sich ändert, wenn Sie etwas an der Seitenformatierung ändern? Der Paragraph? Etwas anderes?

Mit den Such- und Ersetzungsfunktionen von Word können Sie eine Reihe von Aufgaben erledigen, einschließlich der Änderung der Formatierung und anderer nicht offensichtlicher Dinge. Alle Funktionen wirken sich jedoch nur auf den Find-What-Text selbst aus, nicht auf umgebenden Text.

Martha
quelle
grep hat diese Regex-Liebe!
Phoshi
1

In CRGREP, das ich als kostenloses OpenSource-Tool entwickelt habe, werden MS-Dokumente - Word, PowerPoint, Excel - unterstützt . Es greift auch andere schwer zu durchsuchende Dinge wie Datenbanktabellen, Bilder, Audio, Archive, PDF und Kombinationen davon auf. Habe Spaß.

Craig
quelle
0

PowerGREP tut genau das für Sie, und zwar schnell - aber nicht frei. Meiner Meinung nach ist es jeden Cent wert. Außerdem gibt es eine kostenlose 30-Tage-Testversion.

Screenshot von PowerGREP beim Durchsuchen einer Word-Datei

Tim Pietzcker
quelle
0

Ich habe nicht genug Repräsentanten, um einen Kommentar abzugeben, aber ich kann sehen, dass dieses Problem zwischen doc und docx besprochen wurde, sodass jeder, der den Thread verfolgt (wie ich es war), dies hilfreich finden kann.

Für docx-Dateien benötigen Sie kein spezielles Tool. docx sind komprimierte XML-Dateien.

Um das XML zu extrahieren und zu entfernen, versuchen Sie etwas basierend auf

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

von der Kommandozeile fu

Fafhrd
quelle