为什么grep不断触发Windows警告铃?

时间:2017-02-26 21:54:04

标签: windows bash windows-7 grep cygwin

我在Windows 7上使用Cygwin运行bash,使用mintty作为控制台。当我在非常大文本文件上使用grep -b 5 -a 5时 - 更准确地说 - 14GB,我发现每隔3-4秒就会触发一连串的Windows警告/信息响铃作为grep输出到控制台。在过去几周我使用bash之前我没有经历过这个,虽然这也是我第一次以grep的方式输出到控制台

什么可以触发这个,我怎么能摆脱它?

2 个答案:

答案 0 :(得分:1)

听起来终端正在将部分文本解释为控制字符。你确定该文件只包含纯文本吗? Mintty可以选择配置" bell"控制角色呢;确保未选中声音复选框。

另一个解决方案是将grep输出管道输出到可以过滤掉ASCII范围内任何不可见字符的东西。

答案 1 :(得分:0)

尝试用你的grep管道:

| sed 's/\x7//g'
如果它们是由钟形字符引起的,则哔哔声应该消失。您还可以使用以下方法删除所有不可打印的字符:

| sed 's/['$(printf '\\x%x' {0..31})']//g'