Ich benutze oft den lessPager, um Logfiles anzusehen. Normalerweise benutze ich less -F, um den Fortschritt des Protokolls à la zu verfolgen tail.
Einige Protokolldateien verwenden jedoch nationale Zeichen in einer nicht standardmäßigen Codierung (Latin-1, während das System UTF-8 verwendet). Offensichtlich werden diese nicht korrekt angezeigt.
Wie kann ich solche Dateien mit anzeigen less?
Die einzigen Lösungen, die ich gefunden habe:
- Korrigieren Sie die Kodierung der Datei (
recodeodericonv). Dies funktioniert nicht, solange die Datei noch geschrieben wird. Ich kann sie daher nicht verwendenless -F. Außerdem werden die ursprünglichen Zeitstempel der Protokolldateien zerstört, was aus Sicht der Überwachung schlecht ist. - Benutze eine Pfeife (
recode latin1... |less). Funktioniert für laufende Dateien,less -Fscheint aber dann leider nicht zu funktionieren (es wird nur nicht aktualisiert; ich glaube, derrecodeProzess wird beendet, sobald er abgeschlossen ist).
Gibt es eine Lösung, mit der ich eine Protokolldatei "abfangen" und trotzdem die nationalen Zeichen korrekt anzeigen kann?
lessunterstützt das Aufrufen eines Präprozessors. Soweit ich das beurteilen kann, liest der Präprozessor die Eingabedatei und erstellt eine neue Datei für less, sodass dies nicht funktionieren würde less -F.
man lessals gäbe es einen Präprozessor, den Sie möglicherweise einstellen könnten, um Ihre Kodierung zu korrigieren.