我可以执行以下操作以查看“cat”的输出中是否有可用的单词:
cat filename | grep word
Run Code Online (Sandbox Code Playgroud)
这将过滤输出并仅显示那些包含“word”的行。现在,是否可以只突出显示输出中的“单词”而不删除其他行?
Chr*_*own 19
您可以使用 grep 获取 EOL 以及您的实际查询(如果您已经有一个别名grepto use --color,这是许多发行版中的默认值,您可以在以下示例中省略它):
grep --color=auto 'word\|$' file
Run Code Online (Sandbox Code Playgroud)
由于 EOL 不是真正的字符,它不会突出显示任何内容,但会匹配所有行。
如果您不想转义管道字符,可以使用扩展的正则表达式:
grep -E --color=auto 'word|$' file
Run Code Online (Sandbox Code Playgroud)
如果你没有 GNUgrep可用,这里有一些更便携的东西:
grepc()
{
pattern=$1
shift
esc=$(printf "\033")
sed 's"'"$pattern"'"'$esc'[32m&'$esc'[0m"g' "$@"
}
Run Code Online (Sandbox Code Playgroud)
您可以使用以下代码之一自定义颜色
30m black
31m red
32m green
33m yellow
34m blue
35m magenta
36m cyan
37m white
Run Code Online (Sandbox Code Playgroud)
使用7m而不是颜色代码会将字符串置于反向视频中。
| 归档时间: |
|
| 查看次数: |
31471 次 |
| 最近记录: |