具有特殊字符的特定文本的 grep



我正在尝试在日志文件中grep特定文本,但我无法获得我感兴趣的特定文本

echo "[27 May 2019 23:42:32,418] [Accept-Nsh-Proxy-Thread] [ERROR] [::] [Appserver] Too many open files (Accept failed)" >> sl3737474646464-config_console.log | tail -f sl3737474646464-config_console.log
cat sl3737474646464-config_console.log | grep -i "[Appserver] Too many open files (Accept failed)" 

但无法获取字符串

如何获得我回响的文字?

>grep(作为捕获组的开头。只需从()中删除即可.

$ echo "[27 May 2019 23:42:32,418] [Accept-Nsh-Proxy-Thread] [ERROR] [::] [Appserver] Too many open files (Accept failed)" | grep -i "[Appserver] Too many open files (Accept failed)"
[27 May 2019 23:42:32,418] [Accept-Nsh-Proxy-Thread] [ERROR] [::] [Appserver] Too many open files (Accept failed)

或者使用grep -F开关。它导致 grep 从字面上解析参数,因此您可以忘记转义:

$ echo "[27 May 2019 23:42:32,418] [Accept-Nsh-Proxy-Thread] [ERROR] [::] [Appserver] Too many open files (Accept failed)" | grep -i -F "[Appserver] Too many open files (Accept failed)"
[27 May 2019 23:42:32,418] [Accept-Nsh-Proxy-Thread] [ERROR] [::] [Appserver] Too many open files (Accept failed)

最新更新