Bir şey öğrendim, sonuç her zaman kırmızıdır. Komutun grep --colorsonucu 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 --colorsonucu varsayılan olarak kırmızı olan renkli yazdırdığını biliyorum . Rengi değiştirebilir miyim?
Yanıtlar:
Vurgu rengini, şöyle ayarlayabileceğiniz grepbir 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_COLORSseç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, 33ve 40iç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, cyanVe 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 0sı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 214planı renkli ve arka planı renkli olarak ayarlayarak, 30onu 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.
10varsayılan yazı tipidir. 11aracılığıyla 20potansiyel alternatif yazı tipi (vardır 20genellikle anlamına gelir , bir 𝕱𝖗𝖆𝖐𝖙𝖚𝖗 yazı bunu destekleyen nadir terminallerde). Yalnızca 10ve 12GUI 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 resetsonra 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ğrulamaxtermve Ubuntu 16.04'te GUI modu olmayan TTY
Varsayılan değeri GREP_COLORSDİ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 exportzorundası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;30deniz 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 exportiç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, grepsonuçları sarıya ayarlar ve yeniden exportbaş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).