小编Ken*_*Y-N的帖子

ANSI 转义码的 grep

我已经签出了很多环节上如何grep个别转义字符或文本字符串,但我不能让他们结合起来,找到后台红色ANSI转义序列^[41m,即使键入^[既是Ctrl+V+Ctrl+[和两个文字字符^+[和使用-E-F标志。

我试图找到的原始字节hexdump是:

1b 5b 33 37 6d 1b 5b 34 31 6d 30 2e 30 30 25
Run Code Online (Sandbox Code Playgroud)

这对应于WHITE FOREGROUND RED BACKGROUND 0.00%. 我正在使用Python 的 colorama 包和生成这些代码Fore.WHITE+Back.RED,以防万一有人好奇。

那么,我缺少的秘密是什么?

grep escape-characters

5
推荐指数
1
解决办法
2302
查看次数

为什么 echo "a']" | grep -E "\'" 不匹配?

基于这个关于 SO 的问题,我发现:

echo "a']" | grep -E "\a"
Run Code Online (Sandbox Code Playgroud)

匹配正常。

echo "a']" | grep -E "\]"
Run Code Online (Sandbox Code Playgroud)

匹配正常。

但:

echo "a']" | grep -E "\'"
Run Code Online (Sandbox Code Playgroud)

不匹配。我找不到任何文档来描述如何准确grep -E处理转义单引号。我在 Ubuntu 14.04 上使用 GNU grep 2.16。

注意:

echo "a']" | grep -E "'"
Run Code Online (Sandbox Code Playgroud)

匹配 OK,但我很好奇如何grep -E解释\'.

更新:

我刚刚在 Cygwin 2.6.1 和 grep 2.27 上尝试过这个,我可以重现。使用grep --colour -Eo也许会给出更清晰的 OK/Fail 结果?

grep regular-expression

2
推荐指数
1
解决办法
587
查看次数