我希望能够跟踪服务器日志文件的输出,该文件包含以下消息:
INFO
SEVERE
Run Code Online (Sandbox Code Playgroud)
等,如果是SEVERE,则以红色显示该行;如果是INFO,则为绿色。我可以为tail帮助我执行此操作的命令设置什么样的别名?
假设我有以下文件:
$ cat test
test line 1
test line 2
line without the search word
another line without it
test line 3 with two test words
test line 4
Run Code Online (Sandbox Code Playgroud)
默认情况下,grep返回包含搜索词的每一行:
$ grep test test
test line 1
test line 2
test line 3 with two test words
test line 4
Run Code Online (Sandbox Code Playgroud)
传递--color参数 togrep将使其突出显示与搜索表达式匹配的行部分,但它仍然只返回包含该表达式的行。有没有办法grep输出源文件中的每一行,但突出显示匹配项?
我目前实现这一点的可怕黑客(至少在没有 10000+ 连续行且没有匹配项的文件上)是:
$ grep -B 9999 -A 9999 test test
Run Code Online (Sandbox Code Playgroud)

如果grep不能做到这一点,是否有另一个提供相同功能的命令行工具?我摆弄过ack,但它似乎也没有选择。
cat在源文件上使用时,是否有输出语法突出显示的代码行的变体?
一个想法:也许vi[m]可以要求或其他编辑器将所述文件的语法突出显示内容转储到stdout并立即退出?
如果输出到终端,输出形式 cal 中的当前日期会自动突出显示(反色)。
这就是我一直得到的。
然而,对于我当前的 Debian GNU/Linux,情况不再如此,我想知道修复是什么。
$ echo $TERM
xterm
$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux bullseye/sid
Release: testing
Codename: bullseye
Run Code Online (Sandbox Code Playgroud) 是否有一个命令可用于在将整个字符串传递给 stdout 的同时轻松突出显示(使用颜色、粗体文本或倒置的背景/前景)标准输入中的特定字符串?我正在考虑构建它,但如果它已经存在,我宁愿使用它。一些理想的功能:
是否有一个命令可以突出显示文本中的某个表达式?
我正在寻找类似“搜索”功能的less,但在标准输出上输出普通文本,而不是less查看器。
例子:
$ cat test.txt | highlight "an"
Run Code Online (Sandbox Code Playgroud)
对于前景的距离Afgh有序撤出北约的IST的遭遇了两次挫折总统卡尔扎伊德国马克的关于美国军队DED限制的d的塔里布的暂停和谈。
它可以使用颜色或任何其他方式来突出指定的正则表达式。
我可以执行以下操作以查看“cat”的输出中是否有可用的单词:
cat filename | grep word
Run Code Online (Sandbox Code Playgroud)
这将过滤输出并仅显示那些包含“word”的行。现在,是否可以只突出显示输出中的“单词”而不删除其他行?
有谁知道一种简单的方法来生成与源文件的语法突出显示版本相对应的 PostScript,可以直接通过管道传输到 PostScript 打印机?
正如上面问题的措辞可能暗示的那样,我正在寻找可以从命令行运行的东西。我正在考虑这样的交互:
% syntax_highlight <SOURCE_FILE> | lp
Run Code Online (Sandbox Code Playgroud)
...根据需要使用命令行开关等。
迄今为止我发现的最好的是一个名为 的 Unix 实用程序highlight,但它有问题。最严重的是它没有直接输出 PostScript 的选项。(由于highlight确实支持 LaTeX 输出,我尝试拼凑一个脚本,该脚本可以通过 *.tex => *.dvi => *.ps 自动生成 PostScript 文件,但最终结果的视觉外观很糟糕,比highlight为相同的源代码输入生成的 HTML 文件要糟糕得多。)
谢谢!
在 Linux 之前,我使用了 Windows ..(在荒野中度过了太多年:)......但是在所有一般病毒/重新安装漏洞中有一缕阳光......那就是 Notepad++,我真的是一个文本编辑器喜欢(d)。
我可能仍在使用它,即使现在我已经完全转移到 Linux(Ubuntu),但它在“葡萄酒”中的表现并不是 100% ......(并且它的正则表达式受阻)......
Notepad++ 中有一个我非常怀念的功能,那就是能够在单个文档中显示不同的 SIZE 字体(同时)...
在某个时候,我开始学习印地语,发现梵文文字确实需要比拉丁文字大(此处使用)... 梵文文字本质上是一个“更高”的文字,在主线上方和下方都有装饰,并有更多细节。
因此,我利用 Notepad++ 的语法突出显示以我的眼睛可以处理的方式显示我的学习笔记......
现在我的困境是找到一个 Linux 文本编辑器,它可以(至少)做 Notepad++ 可以做的事情(即允许我指定我自己的字体大小组合,并指定我自己的注释分隔符)......
现在,最大的问题......我真正想要的是一个能够识别“人类语言”、“字体类型”或“Unicode-代码块”的编辑器......所以我不必摆弄和摆弄语法高亮,这真的不是我想要的......(PS......我不想要文字处理器)
去年 10 月,我在这里专门询问了SciTe(Scintilla)(Notepad++ 是基于 Scintilla),但根据一个答案,它太痛苦了:) ... 一个评论表明 Emacs 可以做到,所以如果那样的话意思是“同时”,那么我很感兴趣,但我需要一些关于如何去做的初步指示......
这是 Notepad++ 演示文稿的示例..

例如man chmod,当我打开手册页并/在页面中搜索字符串时,我可以看到所有匹配的字符串都突出显示。
按n或N将关注下一个/上一个匹配字符串。
有没有办法以不同的方式突出显示当前匹配项(具有焦点的匹配项)与所有匹配字符串?