cat 文件到终端并为特定单词着色

cat file to terminal and color a specific word

我已经阅读了几个处理语法突出显示的 post,catgrep(例如 this one and this one too),但还没有找到我想要的寻找。我想将 整个文本文件打印到终端 ,并有一个特定的(重复)单词 红色 。没有这个词的行也应该打印出来。这是接近的东西,但只是 打印包含特定单词的行。此 post 没有显示,但 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)

我建议使用 GNU grep:

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