Linux中grep命令查找指定文件中的内容
摘要:Linux中grep命令查找指定文件中的内容
问题描述
最近遇到一个问题,tomcat 中的程序要获取一个 properties 文件中配置的值,但获取的值并不是想要的。
配置文件:
1 | /opt/tomcat/webapps/ROOT/WEB-INF/classes/system.properties |
文件内容:
1 | # ... |
正常情况下,获取到的值应该是3,但实际上获取到的值是1。
因为程序是通过 spring 框架将加载了所有配置文件,所以考虑是有其他子项目也定义了相同的配置项。
于是需要搜索 webapps 目录下的所有项目中,文件名为 system.properties 的,文件内容中包含 uploadToUpload 的文件。
1 | [root@tomcat ~]# cd /opt/tomcat/webapps/ |
果然找到了:在 schoolnews 项目中也有这个配置,将其改正即可。
总结
grep用法: grep [选项]... PATTERN [FILE]...
1 | grep -rn --include="*.properties" 'uploadToCloud' ./* |
选项说明:
- -r : 递归搜索下级目录
- -n : 显示行号
- –include=FILE_PATTERN : 仅搜索匹配
FILE_PATTERN
的文件(支持通配符)
更多参见:grep –help