Podświetl pojedyncze słowo * zawsze * w terminalu

8

Czy istnieje emulator terminala (jak terminal GNOME) dla systemu Linux / Unix, który pozwala zawsze wyróżniać pojedyncze słowo (na przykład „wyróżnić słowo FAIL na czerwono”)? A może jest wtyczka do terminala GNOME (jeśli istnieje coś takiego jak „wtyczki do terminala gnome”).

Rozwiązanie powinno podświetlić słowo bez względu na to, jaka aplikacja jest uruchomiona w terminalu, tj. Uruchomienie cat test.txtpowinno również podświetlić słowo make all.

Każda pomoc jest bardzo doceniana przez moje oczy o niewyraźnych oczach.

scravy
źródło
Konsola KDE podświetli każde słowo znajdujące się na pasku wyszukiwania - możesz uruchomić to pod Gnome. Czy to zadziała?
Paul

Odpowiedzi:

9

Za pomocą bash możesz podświetlić na czerwono wszystkie słowa „FAIL” za pomocą następujących poleceń:

txtred=$(echo -e '\e[0;31m')
txtrst=$(echo -e '\e[0m')
bash | sed -e "s/FAIL/${txtred}FAIL${txtrst}/g"

Tworzy nową powłokę bash i edytuje standardowe wyjście tej nowej powłoki za pomocą sed. Jeśli chcesz zakończyć edycję standardową, po prostu wpisz, exitaby powrócić do poprzedniej powłoki. Możesz znaleźć więcej poleceń kolorów tutaj . echo -ePotrzebna jest odmiana, aby uzyskać rzeczywistą wartość ucieczkę \e.

Próbowałem go echoi catw tej podpowłoce i to działa. Jednak łamie programy oczekujące terminala tak, jak ich wyjście vi. Sądzę, że spowodowałoby to również uszkodzenie programów przy użyciu specjalnego buforowania danych wyjściowych. Łamie także polecenia podobne echo -n FAILi zmienia zachowanie takich poleceń ls(ls drukuje wiele plików w wierszu, gdy wyjściem jest terminal, a jeden plik w wierszu, gdy wyjściem jest potok).

jfg956
źródło
2

clide działa dobrze. Używam go na RHEL 6.2 z repozytorium EPEL

Golimar
źródło
-2

Możesz użyć

cat filename|grep word -w 

gdzie filenamejest nazwa pliku i wordsłowo, które chcesz wyróżnić.

użytkownik674717
źródło