Doğru anladıysam, bir terminal çıkışını bir metin dosyasına kaydetmek istiyorsun, değil mi? Ancak renklerle biçimlendirilmesini istiyorsunuz. Eğer durum buysa, işte fikirlerim:
Çıktının otomatik olarak vurgulanması
Muhtemelen bildiğiniz gibi, bir metin dosyasına bir grep çıktısı alırsanız, tam olarak bir metin dosyası olduğu için biçimlendirilemez. Yani, bildiğim kadarıyla, kolay bir şekilde yapamazsınız.
Buna rağmen, metin düzenleyicinizi ne tür bir dosyanın açıldığını fark etmekten oluşan basit bir geçici çözüm vardır. Örneğin, grep çıktınızın bazı bash bileşenlerine sahip olduğunu söyleyelim, bu yüzden bash vurgulamaları sizin için işe yarar (bu arada bunlar terminalde renkli çıktılarda gördüğünüz renklerdir). Bu yüzden püf nokta, metin çıktısını uygun uzantılı bir dosyaya kaydetmektir. Gibi bir şey yapmak yerine:
ls | grep something > output
gidebilirsin
ls | grep something > output.sh
Hangi gedit (veya herhangi bir terbiyeli metin editörü) otomatik olarak bash kodundan bahsettiğinizi otomatik olarak algılar ve buna göre vurgulayacaktır. Çıktıyı renklendirmenize gerek yoktur, açmakta olan kod türünü tanırsa program sizin için yapar. Başka tür formatlarla çalışıyorsanız, uzantıyı, üzerinde çalıştığınız şey için daha iyi ayarlamaya adapte etmeniz yeterlidir (örn.> Output.xml,> output.html,> output.py ... vb.). İyi şanslar! :)
Çıkış dosyasındaki bazı kelimelerin vurgulanması
Öyleyse, anladıysam, aradığın kelimeleri vurgulamak istiyorsun. Yine de, düz metin olduğu için düz metin dosyasında yapılamaz. Ancak, bazı html kodlamaları kullanmak gibi çok kolay bir biçimde format ekleyebilirsiniz. Bu, çıktınızı bir html koduna dönüştürür ve html'i (libreoffice yazarı, firefox ve 10000 etceteras) yorumlayabilen bir programla açtığınızda, bazı sözcüklerin vurgulandığını göreceksiniz.
Bunu yapmak için, html'ye dışa aktarılan grep'iniz olduğunu varsayalım:
ls | grep keytext > output.html
Ve şimdi çıktınızda keytext'i vurgulamak istiyorsunuz . Bunu yapmak için sed kullanabilirsiniz :
sed -i 's/keytext/<font color="red">keytext<\/font>/g' output.html
Ve violà, artık anahtar metniniz kırmızı ile vurgulanmıştır.