Wie kann ich das Seitenumbruchzeichen in einem regulären Ausdruck abgleichen?

7

Nano nennt es ^L, aber natürlich tippt er so etwas wie

$ grep -v "^\^L" file

funktioniert nicht Sein Unicode-Codepunkt ist 000C. Wie kann ich es in einem regulären Ausdruck abgleichen?

ixtmixilix
quelle

Antworten:

11

Das scheint der gute alte Form-Feed-Charakter zu sein, beschrieben man asciials:

Oct   Dec   Hex   Char
------------------------------------------
014   12    0C    FF  '\f' (form feed)

(Dort nicht erwähnt, aber ^Lder Code ist der gleiche 12.)

Dann sollte in bashjedem dieser Punkte funktionieren:

grep -v $'^\f' file

grep -v $'^\cL' file

grep -v $'\x0C' file
Mann bei der Arbeit
quelle
1
Das erklärt, warum ^Lder Bildschirm aufgeräumt wird. Wenn Sie sich beispielsweise auf der Konsole befinden, spammt das Bearbeiten einer Datei und von Syslog die Konsole. Vielen Dank.
Tim Kennedy
Falls jemand anderes dies liest, um herauszufinden, akzeptieren kwrite reguläre Ausdrücke \ f, um dieses Zeichen
darzustellen
Was ist $'…'in Bash? noch nie gesehen, funktioniert auch nicht bei mir
törzsmókus
„Wörter der Form $'string'werden speziell behandelt. Das Wort wird zu einer Zeichenfolge erweitert, wobei Zeichen mit umgekehrten Schrägstrichen ersetzt werden, wie im ANSI C-Standard angegeben. “ - ANSI-C Zitat im Bash-Handbuch
Manatwork