Bir şey öğrendim, sonuç her zaman kırmızıdır. Komutun grep --color
sonucu varsayılan olarak kırmızı olan renkli yazdırdığını biliyorum . Rengi değiştirebilir miyim?
Bir şey öğrendim, sonuç her zaman kırmızıdır. Komutun grep --color
sonucu varsayılan olarak kırmızı olan renkli yazdırdığını biliyorum . Rengi değiştirebilir miyim?
Yanıtlar:
Vurgu rengini, şöyle ayarlayabileceğiniz grep
bir ortam değişkeni kullanarak değiştirebilirsiniz GREP_COLORS
:
export GREP_COLORS='ms=01;31'
Rakamlar metni biçimlendirebilir, ön plan rengini veya arka plan rengini değiştirebilir veya yazı tiplerini değiştirebilir.
Tüm GREP_COLORS
seçeneklerin başlangıç koşulları , terminalin varsayılan metin stili, yazı tipi ve renkleridir. Bunlardan herhangi birinin sıfırlanması, hiçbirinin varsayılanlarına değil, terminalin varsayılanlarına geri dönecektir grep
.
ᴀ;ʙ;…
- ;
Birleştirmek istediğiniz sayısal seçenekleri ayıran (örneğin kalın sarı-siyah metin birleştirir seçenekleri 1
, 33
ve 40
içine 1;33;40
)+ᴇꜰꜰᴇᴄᴛ
- Bu sayısal seçeneği kullandığınızda ᴇꜰꜰᴇᴄᴛ açık-ᴇꜰꜰᴇᴄᴛ
- Bu sayısal seçeneği kullandığınızda ᴇꜰꜰᴇᴄᴛ kapanırcolor
, green
, cyan
Ve grey
- "Metin biçimlendirme" bölümünde, bu ön plan rengi bakıncolors
- "Metin stili" bölümünde, bu hem ön plan rengini hem de arka plan rengini belirtirthis color
- "Ön plan renkleri" bölümünde, bu ön plan rengini ifade eder; "Arka plan renkleri" bölümünde bu, arka plan rengini ifade eder.Boş bir dize veya 0
sıfırlar tüm metin stili ve sıfırlar varsayılan her iki renklerini ama değil varsayılan yazı tipini sıfırlayın.
┏━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━┓
┃ ### ┃ GNOME Terminal ┃ xterm ┃ non-GUI TTY ┃
┡━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━┩
│ │ «reset style+colors» │ «reset style+colors» │ «reset style+colors» │
│ 0 │ «reset style+colors» │ «reset style+colors» │ «reset style+colors» │
├─────┼─────────────────────────┼─────────────────────────┼───────────────────────┤
│ 1 │ +bold, +brighter color │ +bold, +brighter color │ +brighter color, │
│ │ │ │ -forced grey │
│ 2 │ +fainter color │ +fainter color │ +forced grey │
│ 3 │ +italic │ +italic │ +forced green │
│ │ │ │ ● overrides 2 and 4 │
│ 4 │ +underline │ +underline │ +forced cyan │
│ │ │ │ ● overrides 2 │
│ 5 │ «no effect» │ +blink │ «no effect» │
│ 7 │ +invert colors │ +invert colors │ +invert colors │
│ 8 │ +invisible │ +invisible │ «no effect» │
│ │ │ ● underline appears │ │
│ 9 │ +strikethrough │ +strikethrough │ «no effect» │
├─────┼─────────────────────────┤ ├───────────────────────┤
│ 21 │ -bold, -brighter color, │ +double underline │ -brighter color, │
│ │ -fainter color ├─────────────────────────┤ -forced grey │
│ 22 │ -bold, -brighter color, │ -bold, -brighter color, │ -brighter color, │
│ │ -fainter color │ -fainter color │ -forced grey │
│ 23 │ -italic │ -italic │ -forced green │
│ 24 │ -underline │ -underline, │ -forced cyan │
│ │ │ -double underline │ │
│ 25 │ «no effect» │ -blink │ «no effect» │
│ 27 │ -invert colors │ -invert colors │ -invert colors │
│ 28 │ -invisible │ -invisible │ «no effect» │
│ 29 │ -strikethrough │ -strikethrough │ «no effect» │
└─────┴─────────────────────────┴─────────────────────────┴───────────────────────┘
┏━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━┓
┃ ### ┃ GNOME Terminal ┃ xterm ┃ non-GUI TTY ┃
┡━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━┩
│ 39 │ «reset this color» │ «reset this color» │ «reset this color» │
├─────┼─────────────────────────┼─────────────────────────┼───────────────────────┤
│ 30 │ very dark grey │ black │ black │
│ 31 │ dull red │ red │ light red │
│ 32 │ dull green │ light green │ light green │
│ 33 │ dull yellow │ yellow │ yellow │
│ 34 │ greyish blue │ dark blue │ sky blue │
│ 35 │ dull purple │ purple │ purple │
│ 36 │ teal │ cyan │ cyan │
│ 37 │ light grey │ light grey │ light grey │
├─────┼─────────────────────────┼─────────────────────────┼───────────────────────┤
│ 90 │ dark grey │ dull grey │ dull grey │
│ 91 │ red │ bright red │ bright red │
│ 92 │ lime green │ bright green │ bright green │
│ 93 │ yellow │ bright yellow │ pure yellow │
│ 94 │ light greyish blue │ dull blue │ deep blue │
│ 95 │ light purple │ magenta │ magenta │
│ 96 │ cyan │ bright cyan │ bright cyan │
│ 97 │ off white │ white │ white │
├─────┴──────┬──────────────────┴─────────────────────────┴───────────────────────┤
│ 38;2;ʀ;ɢ;ʙ │ replace ʀ, ɢ, and ʙ with RGB values from 0 to 255 │
│ │ for closest supported color (non-GUI TTY has only 16 colors!) │
│ 38;5;ɴ │ replace ɴ with value from 256-color chart below │
│ │ for closest supported color (non-GUI TTY has only 16 colors!) │
└────────────┴────────────────────────────────────────────────────────────────────┘
GUI olmayan TTY'nin daha parlak bir arka plan rengi serisi sağlamadığını unutmayın.
┏━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━┓
┃ ### ┃ GNOME Terminal ┃ xterm ┃ non-GUI TTY ┃
┡━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━┩
│ 49 │ «reset this color» │ «reset this color» │ «reset this color» │
├─────┼─────────────────────────┼─────────────────────────┼───────────────────────┤
│ 40 │ very dark grey │ black │ black │
│ 41 │ dull red │ red │ light red │
│ 42 │ dull green │ light green │ light green │
│ 43 │ dull yellow │ yellow │ yellow │
│ 44 │ greyish blue │ dark blue │ sky blue │
│ 45 │ dull purple │ purple │ purple │
│ 46 │ teal │ cyan │ cyan │
│ 47 │ light grey │ light grey │ light grey │
├─────┼─────────────────────────┼─────────────────────────┼╶╴╶╴╶╴╶╴╶╴╶╴╶╴╶╴╶╴╶╴╶╴╶┤
│ 100 │ dark grey │ dull grey │ black │
│ 101 │ red │ bright red │ light red │
│ 102 │ lime green │ bright green │ light green │
│ 103 │ yellow │ bright yellow │ yellow │
│ 104 │ light greyish blue │ dull blue │ sky blue │
│ 105 │ light purple │ magenta │ purple │
│ 106 │ cyan │ bright cyan │ cyan │
│ 107 │ off white │ white │ light grey │
├─────┴──────┬──────────────────┴─────────────────────────┴───────────────────────┤
│ 48;2;ʀ;ɢ;ʙ │ replace ʀ, ɢ, and ʙ with RGB values from 0 to 255 │
│ │ for closest supported color (non-GUI TTY has only 8 colors!) │
│ 48;5;ɴ │ replace ɴ with value from 256-color chart below │
│ │ for closest supported color (non-GUI TTY has only 8 colors!) │
└────────────┴────────────────────────────────────────────────────────────────────┘
Yukarıdaki grafik, CMG Lee ve ark.'nın hazırladığı "ANSI kaçış kodu, 8 bit renk" başlıklı Wikipedia'da yayınlanan içeriğin ekran görüntüsüdür . 24 Şubat 2016 ve sonrasında , hem CC BY-SA 3.0 telif hakkı lisansı hem de GFDL telif hakkı lisansı altında yazarlar tarafından lisanslanmıştır .
Yukarıdaki 256 renkli grafikteki renkler aşağıdaki gibi kullanılabilir:
38;5;ɴ
- ön plan rengini terminalin desteklediği en yakın renge değiştirmek için yukarıdaki çizelgedeki belirli bir rengin değerini ɴ ile değiştirin48;5;ɴ
- arka plan rengini terminalin desteklediği en yakın renge değiştirmek için yukarıdaki çizelgedeki belirli bir rengin değerini ɴ ile değiştirinÖrneğin 38;5;214;48;5;30
, ön 214
planı renkli ve arka planı renkli olarak ayarlayarak, 30
onu destekleyen terminallerde deniz mavisi üzerinde turuncu bir sonuç verir.
Tüm terminallerin 256 rengi de desteklemediğine dikkat edin, bu nedenle seçilen rengin kullanılmayabileceğini anlamak önemlidir. Sadece seçilene en yakın desteklenen renk kullanılacaktır.
Örneğin, GUI dışı TTY yalnızca ön plan için temel 16 rengi ve arka plan için temel 8 rengi destekler, bu nedenle kullanılan en yakın renkler beklediğiniz gibi olmayabilir. Örnek olarak, yukarıdaki deniz mavisi portakal rengi seçimi ( 38;5;214;48;5;30
) GUI TTY dışı ürünlerde siyah renkte sarı renkte görünür çünkü bunlar en yakın desteklenen renklerdir.
10
varsayılan yazı tipidir. 11
aracılığıyla 20
potansiyel alternatif yazı tipi (vardır 20
genellikle anlamına gelir , bir 𝕱𝖗𝖆𝖐𝖙𝖚𝖗 yazı bunu destekleyen nadir terminallerde). Yalnızca 10
ve 12
GUI olmayan TTY'de varsayılan olarak var gibi görünmektedir ve GNOME Terminali'nde veya hiçbiri yok xterm
.
grep
çıkmadan önce yazı tiplerini düzgün bir şekilde değiştirmez, bu nedenle kabuk geri döndükten reset
sonra istenmeyen bir yazı tipine sıkışırsanız çalıştırın grep
.
┏━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━┓
┃ ### ┃ GNOME Terminal ┃ xterm ┃ non-GUI TTY ┃
┡━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━┩
│ 10 │ «no effect» │ «no effect» │ «reset font» │
│ 11 │ «no effect» │ «no effect» │ -messed up font │
│ 12 │ «no effect» │ «no effect» │ +messed up font │
└─────┴─────────────────────────┴─────────────────────────┴───────────────────────┘
"Sayısal seçenekler" bölümü kaynaklar:
● Vikipedi'de "ANSI çıkış kodu, SGR (Seçkin Grafik)) parametreleri"
● GNOME Terminalinde deneysel doğrulamaxterm
ve Ubuntu 16.04'te GUI modu olmayan TTY
Varsayılan değeri GREP_COLORS
DİR'ms=01;31:mc=01;31:sl=:cx=:fn=35:ln=32:bn=32:se=36'
Kabul edilen her unsurun anlamı GNU.org'un el kitabındaGREP_COLORS
kontrol edilebilir .
Tamamlama için ve @damadam'ın işaret ettiği gibi , değişiklikleri kaydetmek için eklemek export
zorundasınız .bashrc
.
İlgili:
38;5;ɴ
, ɴ renginin değerlerinden biriyle değiştirilmesi gereken yerlerde kullanın . Arka plan 48;5;ɴ
için aynı şekilde kullanın . Mesela, 38;5;214;48;5;30
deniz mavisi üzerine portakal vermelisin. Olmazsa, terminaliniz 256 rengi desteklemeyebilir. Örneğin, GUI olmayan TTY, sadece ön plan için 16 rengi ve arka plan için 8 rengi destekler ve deniz mavisi üzerinde siyah olan sarı renkte, turuncuya en yakın olan 16 ve 8 renklerinden ön plan ve arka plan renklerini seçer.
@M'den gelen cevaba ek olarak. Becerra, bunu export
içine eklemeyi unutma ~/.bashrc
. Böyle yapabilirsin:
nano ~/.bashrc
ve şimdi yazın export
:
export GREP_COLORS='ms=01;33:mc=01;31:sl=:cx=:fn=35:ln=32:bn=32:se=36'
Bu, grep
sonuçları sarıya ayarlar ve yeniden export
başlatma sonrası terminalini veya bilgisayarı yeniden yapmam gerekmez .
<<<hello GREP_COLORS='ms=5;104' grep '.*'
bir kez! Kodların bir listesini burada bulabilirsiniz, örneğin burada (bölüm 6).