題 是否有可以獲取命令輸出並根據預定義方案對其進行著色的colorizer實用程序?


我已經知道我可以 用grep著色輸出 並以幾種不同的方式。我希望有類似的東西 supercat,但對於命令(而不是死)。

應用程序Supercat根據類型為任何輸入文本著色   文件和與文件類型關聯的一組規則。規則是   用於匹配輸入文本中找到的字符串,可以指定   使用簡單的字符或字符串,正則表達式和特殊   時間格式規則。

可以說,我正在寫作 magiccommand gcc blah blah,這個神奇的命令理解它必須著色gcc輸出並選擇一個模板。現在,我願意 magiccommand mvn foo bar 並且該命令採用另一個適當的規則。可讀規則的獎勵積分 - 沒有 "s/^GET.*$/\x1b[31m&\x1b[0m/" 瘋狂。


7
2018-05-31 19:05


起源




答案:


你可以使用像這樣的工具 grcat/GRC (第一個是工具,第二個是前端)。

grc將執行帶有可選參數的命令命令[args]   通過適當的配置將其stdout或stderr連接到grcat   文件。

例如

enter image description here


11
2018-05-31 19:12





source-highlight

你也可能覺得有趣 source-highlight  在GNU下發布
您可以將其添加為別名,例如在你的 .bash_aliases 有類似下面這一行的東西。

alias Cat='source-highlight --out-format=esc -o STDOUT -i'  
Cat myfile.c # or myfile.xml ...

或者你可以做一個類似的別名(沒有 -i最後有可能 管道

alias PCat='source-highlight --out-format=esc -o STDOUT '
tail myfile.sh | PCat     # Note the absence of the `-i`

Screen Example

摘錄自 apt-cache show source-highlight

說明恩: 將源代碼轉換為語法高亮文檔。
   給定源文件,該程序生成具有語法的文檔    高亮。
   它支持語法 突出顯示超過100種文件格式, 包含    主要編程語言,標記格式和配置文件    格式。對於輸出,支持以下格式:HTML,    XHTML,LaTeX,Texinfo, ANSI顏色轉義序列和DocBook

您可以閱讀的選項之一 man source-highlight 該 -s

-s--src瑯= STRING源語言(使用--lang-list獲取完整列表)。 如果未指定,將從文件擴展名中猜出源語言

--lang列表    列出所有支持的語言和相關的語言定義文件


3
2018-05-07 13:08





這個問題 grc 是你不能管道,但你可以管道到它的底層 grcat 程序。首先:

安裝 grcat

sudo apt-get install grc

現在執行:

echo "[SEVERE] Service is down" | grcat ~/conf.username

哪裡 conf.myusername 包含:

regexp=SEVERE
colours=on_red
count=more

0
2018-03-01 00:02





嘗試 CCAT

$ ccat file.yml $ ccat file.py $ ccat file.rb $ ccat file.go ...


0
2017-11-09 09:36