(php)passthru -> man grep -> komische Sonderzeichen
Thoralf Knuth
- webserver
Hallo,
ich hab das ungute Gefühl, das wird 'ne dumme Frage, aber ich weiß mir keine Antwort. Rufe ich per passthru den Befehl man grep auf, bekommen ich natürlich die man page von grep. Nur sieht die so aus:
GREP(1) GREP(1)
NAME
grep, egrep, fgrep - print lines matching a pattern
SYNOPSIS
grep [options] PATTERN [FILE...]
grep [options] [-e PATTERN | -f FILE] [FILE...]
DESCRIPTION
Grep searches the named input FILEs (or standard input if
no files are named, or the file name - is given) for lines
containing a match to the given PATTERN. By default, grep
prints the matching lines.
Direkten shell-Zugriff hab ich nicht. Also was ist das? Formatierungen? Wo finde ich, was die bedeuten?
Danke, Thoralf
Hallo Thoralf,
[... komische Zeichen im Output von man grep ...]
Also was ist das? Formatierungen?
Das sind Terminal-Escape-Sequenzen.
Wo finde ich, was die bedeuten?
Ich hab auf die Schnelle nur
http://www.linux-magazin.de/Artikel/ausgabe/1999/02/Prompt/prompt.html#tabelle1
gefunden. Such doch einfach mal nach 'Escape-Sequenzen Terminal', da solltest du was finden.
Grüße,
CK
Hallo Christian,
Das sind Terminal-Escape-Sequenzen.
besten Dank für die schnelle Antwort, das hilft mir schonmal weiter, zur Not filtere ich die erstmal ganz raus.
Ich hab auf die Schnelle nur
http://www.linux-magazin.de/Artikel/ausgabe/1999/02/Prompt/prompt.html#tabelle1
gefunden. Such doch einfach mal nach 'Escape-Sequenzen Terminal', da solltest du was finden.
Werd ich machen, vll. find ich ja sogar schon eine Umsetzung.
Gruss, Thoralf
Hallo Christian,
jetzt bin ich völlig verwirrt. Hab mir die Einzelheiten mal angeschaut, ESC-Sequenzen kenn ich aus DOS noch, nur hab ich den Output jetzt mal in einen Hexeditor gegeben.
man schmeißt mir in die Ausgabe massenweise BS(0x08), also Rückschritte rein.
S <BS> SY <BS> YN <BS> NO <BS> OP <BS> PS <BS> SI <BS> IS <BS> S
ergibt dann korrekt SYNOPSIS.
Nur was soll das? Ist das normal?
Danke, Thoralf
Hallo Thoralf,
man schmeißt mir in die Ausgabe massenweise BS(0x08), also Rückschritte rein.
S <BS> SY <BS> YN <BS> NO <BS> OP <BS> PS <BS> SI <BS> IS <BS> S
ergibt dann korrekt SYNOPSIS.Nur was soll das? Ist das normal?
Ein Buchstabe, der an derselben Stelle zweimal ausgegeben wird, wird von man Fett
dargestellt. Der w3m benutzt folgende Regexe, um das ganze nach HTML umzuwandeln:
s/&/&/g;
s/</</g;
s/>/>/g;
s@([\200-\377].)(\010{1,2}\1)+@<b>$1</b>@g;
s@(&\w+;|.)(\010\1)+@<b>$1</b>@g;
s@__\010{1,2}((<b>)?[\200-\377].(</b>)?)@<u>$1</u>@g;
s@_\010((<b>)?(&\w+;|.)(</b>)?)@<u>$1</u>@g;
s@((<b>)?[\200-\377].(</b>)?)\010{1,2}__@<u>$1</u>@g;
s@((<b>)?(&\w+;|.)(</b>)?)\010_@<u>$1</u>@g;
s@.\010(.)@$1@g;
s@</b></u><b>_</b><u><b>@_@g;
s@</u><b>_</b><u>@_@g;
s@</u><u>@@g;
s@</b><b>@@g;
Nicht schön, aber immerhin.
Grüße,
CK
N'Abend Christian,
Ein Buchstabe, der an derselben Stelle zweimal ausgegeben wird, wird von man Fett
dargestellt. Der w3m benutzt folgende Regexe, um das ganze nach HTML umzuwandeln:
[...]
Nicht schön, aber immerhin.
herzlichen Dank! Werd mir das mal zu Gemüte führen. Da ich keinen shell-Zugang habe, muss ich einige Sachen direkt via PHP machen. Umständlich, aber es geht. ;)
Gruss, Thoralf
Moin!
man schmeißt mir in die Ausgabe massenweise BS(0x08), also Rückschritte rein.
Wenn du das auf einen Drucker ausgibst, werden gewisse Buchstaben doppelt gedruckt. Das ist die einfachste Methode, eine simple Ausgabemöglichkeit mit etwas Formatierung zu versehen.
Auf dem Bildschirm wären natürlich keine übereinandergedruckten Buchstaben vorhanden, also stört es da nicht.
Du solltest dir mal angucken, ob du irgendeine TERMCAP einstellen kannst (Terminal Capabilities). Denn die Ausgaben der Kommandozeile orientieren sich bei gewissen Programmen durchaus daran, was der Benutzer (angeblich - soll heißen, er kann es angeben) so verträgt.
- Sven Rautenberg
N'Abend,
man schmeißt mir in die Ausgabe massenweise BS(0x08), also Rückschritte rein.
Wenn du das auf einen Drucker ausgibst, werden gewisse Buchstaben doppelt gedruckt. Das ist die einfachste Methode, eine simple Ausgabemöglichkeit mit etwas Formatierung zu versehen.
stimmt, es rieselt im Dunkeln. Mein alter Mannesmann-Tally-24-Nadler hat das auch gewollt. Da hätt ich drauf kommen können. ;)
Du solltest dir mal angucken, ob du irgendeine TERMCAP einstellen kannst (Terminal Capabilities). Denn die Ausgaben der Kommandozeile orientieren sich bei gewissen Programmen durchaus daran, was der Benutzer (angeblich - soll heißen, er kann es angeben) so verträgt.
Muss ich mal schauen, ich kann das alles nur im laufenden Betrieb. Ich hab auf dem Server keinen ssh-Zugriff, muss also per PHPs passthru/system die Befehle einzeln ausführen. Dazu kommt, dass ich in Linux mittlerweile wieder absoluter DAU bin. Ich hab vor zehn Jahren das letzte Mal mit Sinix/Unix zu tun gehabt. Im Moment komm ich nicht dazu, mich wirklich einzuarbeiten, Knoppix liegt schon ewig hier, mal sehen, wann ich das schaffe. Also muss ich leider so stückeln. Daher die Fragen hier. ;) Danke für Geduld und Hilfe. :)
Gruss, Thoralf