Skip to main content

Zeigen Sie die druckbaren Zeichen einer Datei mit Zeichenfolgen an

Excel - LÄNGE und GLÄTTEN - Leerzeichen entfernen (Kann 2025)

Excel - LÄNGE und GLÄTTEN - Leerzeichen entfernen (Kann 2025)
Anonim

Haben Sie jemals versucht, eine Datei in einem Editor zu öffnen, um herauszufinden, dass sie nicht lesbaren binären Inhalt enthält?

Mit dem Linux-Befehl "Zeichenfolgen" können Sie die von Menschen lesbaren Zeichen in jeder Datei anzeigen.

Der Hauptzweck der Verwendung des Befehls "Zeichenfolgen" besteht darin, herauszufinden, welchen Dateityp Sie gerade betrachten. Sie können ihn jedoch auch zum Extrahieren von Text verwenden. Wenn Sie beispielsweise eine Datei aus einem proprietären Programm haben, die Dateien in einem seltsamen Binärformat speichert, können Sie "Strings" verwenden, um den in die Datei eingefügten Text zu extrahieren.

Beispiel für die Verwendung des Befehls Strings

Um die Leistungsfähigkeit des Befehls strings zu demonstrieren, können Sie ein Dokument mit LibreOffice Writer erstellen.

Öffnen Sie einfach LibreOffice Writer, geben Sie Text ein und speichern Sie ihn im Standard-ODT-Format.

Öffnen Sie nun ein Terminalfenster (drücken Sie gleichzeitig STRG, ALT und T) und verwenden Sie dann den Befehl cat, um die Datei wie folgt anzuzeigen:

cat deinDateiname.odt | Mehr

(Ersetzen Sie IhreDateiname.odt durch den Namen der von Ihnen erstellten Datei.)

Was Sie sehen werden, ist eine ganze Wand aus unleserlichem Text.

Drücken Sie die Leertaste, um durch die Datei zu blättern. Sporadisch sehen Sie in der gesamten Datei einen Teil des eingegebenen Textes.

Mit dem Befehl strings können nur die Teile angezeigt werden, die für Menschen lesbar sind.

In seiner einfachsten Form können Sie den folgenden Befehl ausführen:

Zeichenfolgen yourfilename.odt | Mehr

Wie zuvor wird eine Textwand angezeigt, jedoch nur Text, den Sie als Mensch lesen können. Wenn Sie Glück haben, können Sie Ihren Text sehen.

Was Sie sehen können, ist der Schlüssel, jedoch in der ersten Zeile:

mimetypeapplication / vnd.oasis.opendocument.text

Wir wissen, dass der Dateityp aus zwei Gründen eine LibreOffice Writer-ODT-Datei ist:

  1. Wir haben die Datei erstellt
  2. Die Erweiterung lautet .ODT

Stellen Sie sich vor, Sie haben die Datei nicht erstellt oder Sie haben die Datei auf einer wiederhergestellten Festplatte gefunden und die Datei hatte keine Erweiterung.

Bei der Windows-Wiederherstellung wurden häufig Dateien mit Namen wie 0001, 0002, 0003 usw. wiederhergestellt. Die Tatsache, dass die Dateien wiederhergestellt wurden, ist großartig, aber der Versuch, herauszufinden, welche Dateitypen dies waren, war ein Albtraum.

Durch die Verwendung von Strings haben Sie eine große Chance, den Dateityp herauszufinden. Wenn Sie wissen, dass eine Datei eine opendocument.text-Datei ist, können Sie sie mit der ODT-Erweiterung speichern und in LibreOffice Writer öffnen.

Falls Sie nicht wissen, dass eine ODT-Datei grundsätzlich eine komprimierte Datei ist. Wenn Sie IhreDateiname.odt in IhreDateiname.zip umbenennen, können Sie sie in einem Archivierungstool öffnen und sogar die Datei entpacken.

Alternative Verhaltensweisen

Standardmäßig gibt der Befehl strings alle Zeichenfolgen in einer Datei zurück. Sie können das Verhalten jedoch so ändern, dass Zeichenfolgen aus initialisierten, geladenen Datenabschnitten in einer Datei zurückgegeben werden.

Was heißt das genau? Niemand scheint es zu wissen.

Es ist sinnvoll anzunehmen, dass Sie Strings verwenden, um den Dateityp herauszufinden oder nach einem bestimmten Text in einer Datei zu suchen.

Wenn Sie beim Ausführen des Befehls strings mit dem Standardverhalten nicht die gewünschte Ausgabe erhalten, versuchen Sie, einen der folgenden Befehle auszuführen, um festzustellen, ob dies einen Unterschied macht:

Zeichenfolgen -d IhrDateinameZeichenfolgen --data IhrDateiname

Die Handbuchseite besagt, dass der obige Befehl dazu beitragen kann, die von Zeichenfolgen zurückgegebene Menge an Abfall zu reduzieren.

Der Befehl "Zeichenfolgen" kann so eingerichtet werden, dass er in umgekehrter Richtung arbeitet, sodass der Minus-D-Schalter das Standardverhalten ist. Wenn dies auf Ihrem System der Fall ist, können Sie alle Daten mit dem folgenden Befehl zurückgeben:

Zeichenfolgen -a IhrDateiname

Ausgabe formatieren

Sie können den Text in der Ausgabe anzeigen, um den Namen der Datei neben jeder Textzeile anzuzeigen.

Führen Sie dazu einen der folgenden Befehle aus:

Zeichenfolgen -f IhrDateinameZeichenfolgen --print-Dateiname IhrDateiname

Die Ausgabe sieht nun ungefähr so ​​aus:

IhrDateiname: ein Stück TextIhrDateiname: ein weiterer Text

Als Teil der Ausgabe können Sie auch den Versatz anzeigen, an dem der Text in einer Datei angezeigt wird. Führen Sie dazu den folgenden Befehl aus:

Zeichenfolgen -o IhrDateiname

Die Ausgabe sieht ungefähr so ​​aus:

16573 deine

17024 Text

Der Versatz ist eigentlich der Oktalversatz, obwohl dies abhängig von der Art und Weise, wie Zeichenfolgen für Ihr System kompiliert wurden, leicht auch der Hexadezimalwert oder der Dezimalversatz sein kann.

Eine genauere Methode, um den gewünschten Versatz zu erhalten, ist die Verwendung der folgenden Befehle:

Zeichenfolgen -t d IhrDateinameZeichenfolgen -to IhrDateinameZeichenfolgen -t h IhrDateiname

Das Minus-t-Mittel gibt den Versatz zurück und das folgende Zeichen bestimmt den Versatztyp. (d.h. d = dezimal, o = oktal, h = hex).

Standardmäßig druckt der Befehl strings jede neue Zeichenfolge in einer neuen Zeile. Sie können jedoch das Trennzeichen Ihrer Wahl festlegen. Um beispielsweise ein Pipe-Symbol ("|") als Trennzeichen zu verwenden, führen Sie den folgenden Befehl aus:

Zeichenketten -s "|" IhrDateiname

Passen Sie das String-Limit an

Der Befehl strings sucht standardmäßig nach einer Zeichenfolge von 4 druckbaren Zeichen in einer Reihe. Sie können die Standardeinstellung so anpassen, dass nur eine Zeichenfolge mit 8 druckbaren Zeichen oder 12 druckbaren Zeichen zurückgegeben wird.

Durch Anpassen dieses Grenzwerts können Sie die Ausgabe anpassen, um das bestmögliche Ergebnis zu erzielen. Wenn Sie nach einer Zeichenfolge suchen, die zu lang ist, besteht die Gefahr, dass Sie nützlichen Text weglassen, aber wenn Sie ihn zu kurz machen, kann es sein, dass Sie mehr Junk-Ergebnisse erhalten.

Führen Sie den folgenden Befehl aus, um das Zeichenfolgenlimit anzupassen:

Zeichenfolgen -n 8 IhrDateiname

Im obigen Beispiel habe ich das Limit auf 8 geändert.Sie können 8 durch die Nummer Ihrer Wahl ersetzen.

Sie können auch den folgenden Befehl verwenden, um dasselbe zu tun:

Zeichenfolgen --bytes = 8 IhrDateiname

Whitespace einschließen

Der Befehl strings enthält standardmäßig Leerzeichen, z. B. einen Tabulator oder ein Leerzeichen als druckbares Zeichen. Wenn Sie also eine Zeichenfolge haben, die lautet "Die Katze saß auf der Matte", würde der Befehl "Zeichenfolgen" den gesamten Text zurückgeben.

Neue Zeilenzeichen und Wagenrückläufe werden standardmäßig nicht als druckbare Zeichen betrachtet.

So erhalten Sie Zeichenfolgen, um neue Zeilenzeichen und Wagenrückläufe als druckbare Zeichenfolgenzeichenfolgen zu erkennen:

Zeichenfolgen -w IhrDateiname

Ändern Sie die Kodierung

Es gibt 5 Codierungsoptionen für die Verwendung mit Strings:

  • s = 7-Bit-Byte (für ASCII, ISO 8859)
  • S = 8 Bit Byte
  • b = 16 Bit Bigendian
  • L = 16 bit littleendian

Der Standardwert ist 7 Bit Byte.

Um die Kodierung zu ändern, führen Sie den folgenden Befehl aus:

Zeichenfolgen -es ist IhrDateinameZeichenfolgen --encoding = s IhrDateiname

Im obigen Befehl habe ich den Standardwert "s" angegeben, der 7-Bit-Byte bedeutet. Ersetzen Sie einfach das "s" durch den Kodierungsbrief Ihrer Wahl.

Ändern Sie den Binärdateibeschreibungsnamen

Sie können das Verhalten von Zeichenfolgen ändern, sodass eine andere Binärdateibeschreibungsbibliothek verwendet wird, als die für Ihr System bereitgestellte.

Dieser Schalter ist für Experten gedacht. Wenn Sie eine andere Bibliothek verwenden möchten, führen Sie den folgenden Befehl aus:

Zeichenfolgen -T bfdname

Leseoptionen aus einer Datei

Wenn Sie jedes Mal dieselben Optionen verwenden, müssen Sie nicht jedes Mal alle Schalter angeben, wenn Sie den Befehl ausführen, da dies Zeit braucht.

Sie können eine Textdatei mit nano erstellen und die Optionen in dieser Datei angeben.

Um dies in einem Terminal auszuprobieren, führen Sie den folgenden Befehl aus:

nano saitenopts

Geben Sie in der Datei den folgenden Text ein:

-f -o -n 3 -s "|"

Speichern Sie die Datei, indem Sie STRG und O drücken, und beenden Sie sie, indem Sie STRG und X drücken.

Führen Sie den folgenden Befehl aus, um die Zeichenfolgenbefehle mit diesen Optionen auszuführen:

Zeichenfolgen @Stringsopts IhrDateiname

Die Optionen werden aus den Dateisystemen gelesen und Sie sollten den Dateinamen vor jedem String, den Versatz und das "|" sehen. als Trennzeichen.

Hilfe bekommen

Wenn Sie mehr über Strings erfahren möchten, können Sie den folgenden Befehl ausführen, um Hilfe zu erhalten.

Saiten - helfen

Alternativ können Sie auch die Handbuchseite lesen:

Mann Saiten

Finden Sie heraus, welche Version von Strings Sie ausführen

Führen Sie einen der folgenden Befehle aus, um die Version der Zeichenfolgen zu ermitteln, die Sie ausführen:

Streicher -vStreicher -VSaiten - Version