Czy istnieje polecenie podkreślające określone wyrażenie w tekście?
Szukam czegoś takiego jak funkcja „wyszukiwania” w mniejszym stopniu, ale z normalnym wyjściem tekstu na standardowym ekranie zamiast w less
przeglądarce.
Przykład:
$ cat test.txt | highlight "an"
Perspektywy w uporządkowany odstąpienia NATO od Afgh ist an ponieśli dwie porażki jako prezydenta Hamida Karzaja dem an DED granice amerykańskich wojsk D Talib zatrzymał rozmów pokojowych.
Może użyć koloru lub innych środków do podkreślenia określonego wyrażenia regularnego.
bash
highlighting
Szczery
źródło
źródło
highlight
dowodzeniaOdpowiedzi:
Nie jestem pewien, czy wynika to z funkcji, czy z jakiegoś ukrytego efektu ubocznego, ale działa to w GNU
grep
2.11:źródło
grep 'an' OR ''
.''
Powodzeniem pasuje do niczego w każdym miejscu na wejściu.an
Podświetlone jest tylko , ponieważ nie można podświetlić niczego. :-)grep --color -e 'an' -e ' '
(pasowanie do miejsca, którego nie można pokolorować, załatwiło sprawę). O wiele lepsze niż orurowaniesed -e ''/an/s//$(printf "\033[33;1m&\033[0m")/''
, ale może ten drugi jest bardziej wydajny. Zmień „an” dla innego wyszukiwanego hasła. ;)bashrc
aliasów, a teraz wszystkie moje aliasy są podświetlone na czerwono. Wspaniały!alias aliases="clear;cat ~/.bashrc|grep --color \"alias\""
ack ma
--passthru
opcję, która to zrobi:źródło
ack-grep
... (nazwaack
jest stosowana do konwertera kodu Kanji)Możesz wypróbować mój skrypt. Pozwoli ci albo określić plik, albo pobierze standardowe dane wejściowe. Możesz zdefiniować wyrażenie regularne Pythona dla tekstu, który chcesz wyróżnić. podświetlony tekst domyślnie ma kolor zielony neon (hej, używam czarnego tła!) Ale możesz zmienić kod koloru ANSI .
Oto przykładem.
Perspektywy w uporządkowany odstąpienia NATO od Afgh ist an ponieśli dwie porażki jako prezydent Hamid Karzaj dem an DED granice amerykańskich wojsk D Talib zatrzymał rozmów pokojowych.
Perspektywy uporządkowanego wycofania się NATO z Afganistanu doznały dwóch niepowodzeń, gdy prezydent Hamid Karzaj zażądał ograniczenia wojsk Stanów Zjednoczonych, a talibowie wstrzymali rozmowy pokojowe.
źródło
<b>
jeśli chcesz pogrubić część słowa.$cat test.txt | grep --colour=auto -C 100000 an
„kolor” również działa. Możesz także zdefiniować alias, aby grep zawsze używał opcji:
alias grep='grep --colour=auto -C 100000'
Umieść powyższe w /etc/profile.d/ gdzieś lub w .bashrc lub czymkolwiek.
źródło
-C 1000000
tobą już nigdy nie będziesz w stanie grepować. Po prostu zróbalias highlight='grep --colour=auto -C 1000000'. The cat in the first example is also not necessary:
grep --colour = auto-C 100000 plik`.grep
radzi sobie z kolekcją linii kontekstu.)