cat 文件到终端并为特定单词着色[重复]

Posted

技术标签:

【中文标题】cat 文件到终端并为特定单词着色[重复]【英文标题】:cat file to terminal and color a specific word [duplicate] 【发布时间】:2019-05-24 00:52:42 【问题描述】:

我已经阅读了几篇处理语法高亮的帖子,catgrep(如 this one 和 this one too),但还没有找到我想要的。我想将整个文本文件打印到终端,并有一个特定的(重复的)单词以红色显示。没有这个词的行也应该打印出来。这是接近的东西,但只有 打印包含特定单词的行。这篇文章没有显示它,但是 load 字是红色的,就像它应该的那样。

$ cat input.ll | grep "load"
  %tmp = load %class.A*, %class.A** %p, align 8
  %vtable = load i32 (%class.A*, i32, i32, i32)**, i32 (%class.A*, i32, i32, i32)*** %tmp1, align 8
  %tmp2 = load i32 (%class.A*, i32, i32, i32)*, i32 (%class.A*, i32, i32, i32)** %vfn, align 8
  %tmp3 = load i32, i32* @x, align 4

这是原始文件:

$ cat input.ll
  %tmp = load %class.A*, %class.A** %p, align 8
  %tmp1 = bitcast %class.A* %tmp to i32 (%class.A*, i32, i32, i32)***
  %vtable = load i32 (%class.A*, i32, i32, i32)**, i32 (%class.A*, i32, i32, i32)*** %tmp1, align 8
  %vfn = getelementptr inbounds i32 (%class.A*, i32, i32, i32)*, i32 (%class.A*, i32, i32, i32)** %vtable, i64 2
  %tmp2 = load i32 (%class.A*, i32, i32, i32)*, i32 (%class.A*, i32, i32, i32)** %vfn, align 8
  %tmp3 = load i32, i32* @x, align 4
  %call = call i32 %tmp2(%class.A* %tmp, i32 3, i32 %tmp3, i32 7)

【问题讨论】:

【参考方案1】:

我建议使用 GNU grep:

grep --color -E 'load|$' file

【讨论】:

以上是关于cat 文件到终端并为特定单词着色[重复]的主要内容,如果未能解决你的问题,请参考以下文章

搜索单词并为其着色

在 C# 中使用特定单词拆分文件 [重复]

在bash中匹配单词后的一行中打印特定字符串[重复]

解析java源代码以查找评论中的特定单词,然后使用下面的代码[重复]

粘贴到 ssh 终端时,bash heredoc 被损坏(随机)[重复]

在文本文件中查找特定单词并计算它