![less in Kombination mit sed Farbsequenzen verhindert Seitenumbrüche](https://rvso.com/image/89161/less%20in%20Kombination%20mit%20sed%20Farbsequenzen%20verhindert%20Seitenumbr%C3%BCche.png)
Wenn ich den folgenden Befehl verwende, der die Zeilenausgabe gelb färbt, wird aus „less“ im Wesentlichen „cat“, wodurch die gesamte Datei ausgedruckt wird und alle Funktionen deaktiviert werden, die ich bei „less“ benötige, z. B. das Anhalten bei Seitenumbrüchen, das Zulassen der Navigation usw. Die meisten Argumente, mit denen Sie „less“ manipulieren können, werden ebenfalls ignoriert. Gibt es eine Möglichkeit, zu verhindern, dass eine Farbsequenz von „sed“ die Funktionen von „less“ beeinträchtigt?
less file | sed -e 's/\(.*DATA.*\)/\o033[93m\1\o033[39m/'
Antwort1
less
Vielleicht wollten Sie für die Ausgabe von verwenden sed
und nicht umgekehrt:
sed -e 's/\(.*DATA.*\)/\o033[93m\1\o033[39m/' file | less -R
Weiterführende Literatur:
Antwort2
Wenn Sie die Ausgabe an übergeben möchten, less
brauchen Sie sed
überhaupt keinen Befehl. Legen Sie einfach fest, wie less
das gesuchte Muster hervorgehoben werden soll (z. B. in .bashrc
):
export LESS_TERMCAP_so=$'\e[93m' # begin standout mode
export LESS_TERMCAP_se=$'\e[m' # end standout mode
und dann less
mit -p
der Option ausführen:
less -p '.*DATA.*' file