So während jemand Code debuggen half mir erkannte ich, dass es einige seltsame Zeichen in ihrer Ausgabe waren, nämlich und (\ xc0 und \ xd0 in hex).Wie grep ich für Sonderzeichen (Steuerzeichen) mit Hexadezimal-Darstellung
Ich wollte diese Zeichen in einer großen Textausgabedatei finden.
Ich habe es geschafft, diese Zeichen mit erhabenen zu finden, indem Sie die Regex-Option in Find mit \xc0
oder \xd0
die Abfrage ist. Ich habe es auch geschafft, grep
sie, indem Sie grep $'\xc0' filename
in bash zu tun.
Das Ding, das mich stört, ist, dass, wenn ich die -P
Option für grep
verwende, es ablehnt, diese Zeichen zu finden.
grep -P "\xc0" filename
würde nichts für eine Datei ausgeben, die dieses Zeichen darin hat (und die anderen beiden Methoden oben würden es erfolgreich finden), und das nervt mich so sehr, ich will wissen, warum das nicht funktionieren würde.
ich ein paar andere Beiträge, in denen zusammen mit "[\x80-\xff]"
die -P
Option vorgeschlagen gelesen haben, aber aus irgendeinem Grund bekomme ich konnte einfach nicht arbeiten, um sie: \
grep -P
ein guter Freund für eine lange hat Zeit bis jetzt Jede Hilfe und Tipps sind willkommen
ich verwende GNU grep
EDIT :(:!.
I ha habe tatsächlich 2 Linux-Distributionen probiert.
- auf Ubuntu 14.04 mit bash: Mein Terminal scheint nicht den Charakter zu mögen: \
printf "\xc0"
druckt nichts im Terminal, Drucken es jedoch in einer Datei mit >
und dann bei der Eröffnung erhaben würde den Charakter zeigen.
printf "\xc0" > foo
grep $'\xc0' foo > out1
grep -P '\xc0' foo > out2
grep -P '\x{c0}' foo > out3
out{1,2,3}
sind alle leer.
- auf CentOS 7.2 mit bash:
printf
druckt etwas - das Fragezeichen dunkel Dingen
printf "\xc0"
druckt (sieht tatsächlich wie diese)
printf "\xc0" > foo
grep $'\xc0' foo > out1
grep -P '\xc0' foo > out2
grep -P '\x{c0}' foo > out3
Nur out1
den Charakter enthält.
könnte ich wütend und unwillig klang in der ursprünglichen Nachricht zu lernen, aber ich lernen will :) Es gibt wahrscheinlich einige Vorbehalte mit 'grep -P' Ich weiß nicht, und ich würde mehr als glücklich sein zu finden, raus :) – a283626086
'Ich konnte sie nur nicht zur Arbeit bringen? Welche Fehler haben Sie gesehen? – Inian
Und hast du 'grep -P \ x {c0}" Dateiname "versucht? Oder sogar '" \ x {00c0} "'? –