grep -v'。*'不工作

时间:2014-04-29 14:12:24

标签: linux unix pipe readline

这个完全没用的命令排除了所有传输到grep的内容,如预期的那样:

$ man man | grep -v '.*'
$

如何从管道bind -p获取输出?

$ bind -p | grep -v '.*'
"?": self-insert
"?": self-insert
"?": self-insert
"?": self-insert
"?": self-insert
(227 more...)

退出代码为0,没有任何内容写入stderr。

1 个答案:

答案 0 :(得分:2)

在我的计算机上,"?"实际上是"�"。这是解码失败时用作后备的UNICODE字符。

看起来bind -p会输出无效的UTF-8序列,grep -v '.*'不会过滤它们,因为它无法首先对它们进行解码。