GNU/Linux >> Znalost Linux >  >> Linux

Vybarvěte konkrétní slova v terminálu Linux, kdykoli se objeví

Chcete-li obarvit textový výstup z příkazu, můžete zkusit převést výstup příkazu do sed, například takto:

váš příkaz | sed -e 's/FAIL/^[[01;31mFAIL^[[00m/g' -e 's/SUCCESS/^[[01;32mSUCCESS^[[00m/g'

Tato pravidla pro nahrazování lze také umístit do textového souboru (např. colorize.sed) a použít následující:

váš příkaz | sed -f colorize.sed

To umožní přiřazení různých barev různým shodným řetězcům. Všimněte si, že v mých příkladech '^[' znamená znak escape, nikoli karát následovaný hranatou závorkou. Znak escape lze do pravidla zadat zadáním Ctrl-V a následným stisknutím klávesy escape.

Barvy/efekty, které jsou k dispozici pro tyto kódy tty, jsou následující:

Barvy popředí:černá=30, modrá=34, azurová=36, zelená=32, fialová=35, červená=31, bílá=37, žlutá=33

Barvy pozadí:černá=40, modrá=44, ​​azurová=46, zelená=42, fialová=45, červená=41, bílá=47, žlutá=43

Efekty:Normální=00, Tučné=01, Tlumené=02, Podtržené=04, Blikání=05, Obrácené=07, Skryté=08

Lze je také zkombinovat se středníkem, jako jsem to udělal já (tj. 01;31, aby byla tučná červená).

Všimněte si, že kód '^[00m' je nutný k deaktivaci předchozí barvy/efektu, jinak barva/efekt přetrvá i po shodném řetězci. Všimněte si také, že některé efekty nefungují (nebo nefungují, jak jsem popsal) s některými emulátory terminálu.

Doufám, že jen neopakuji to, co již řekl někdo jiný, protože jsem nečetl celou diskuzi.


Pravděpodobně je jednodušší si slova vybarvit sami, než nechat terminál, aby je vybarvil za vás. Pokud nemůžete upravovat skripty, které vytvářejí výstup, můžete je filtrovat pomocí něčeho jiného?

Na konci stupnice, který bude nejpravděpodobněji dostupný, můžete svůj výstup propojit přes grep :

tail -F logfile | grep --color -P "FAIL|"

To odpovídá buď "FAIL" nebo "", a zvýrazní odpovídající část řetězce.

Dále můžete použít něco specializovanějšího, jak je popsáno například v tomto příspěvku na blogu.


Linux
  1. Jak změnit barvu vašeho terminálu Linux

  2. Vydejte se na dobrodružství ve svém linuxovém terminálu

  3. Proč Linux vždy vypíše ^C po stisknutí Ctrl+C?

  1. Linux – výstup Ps Lstart změněn?

  2. v linuxové konzoli, jak NEzabalit výstup

  3. ss - výstupní formát nástroje pro statistiku linuxových socketů

  1. Linux – Zkontrolujte, zda terminál podporuje 24bitové / True Color?

  2. 5 použití příkazu mv v linuxovém terminálu

  3. 9 UNIX / Linux tput Příklady:Ovládání barvy a kurzoru terminálu