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.