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?

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

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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.