发布网友 发布时间:2025-01-02 19:00
共1个回答
热心网友 时间:2025-01-02 19:33
搜索、查找文件内容最常用命令是grep。egrep,vi命令也可实现文件内容搜索。
1:搜索特定文件包含特定字符串
使用命令:grep "search content" filename1
示例:grep ORA utlspadv.sql 查找utlspadv.sql文件中包含ORA的字符内容
$ grep "ORA" utlspadv.sql
若需过滤特定内容,可修改搜索内容。
2:搜索多个文件中包含特定字符串
使用命令:grep "search content" filename1 filename2.... filenamen
示例:grep "search content" *.sql 查看当前目录下所有.sql文件中包含特定内容
$ grep "v\$temp_space_header" *.sql 查找包含v\$temp_space_header的.sql文件
3:显示搜索文本在文件中的行数
使用命令:grep -n "search content" filename
示例:$ grep -n "v\$temp_space_header" *.sql 查看包含v\$temp_space_header的行数
4:忽略大小写搜索
使用命令:grep -i "search content" filename
示例:[oracle@DB-Server admin]$ grep -i "V\$TEMP_SPACE_HEADER" *.sql 查找大写搜索内容的文件
5:检查安装的MySQL组件
使用命令:rpm -qa | grep -i mysql 查看已安装的MySQL组件
6:查找不匹配指定字符串的行
使用命令:grep –v "被查找的字符串" 文件名
示例:查找不包含命令grep ora_mmon的进程
[oracle@DB-Server admin]$ ps -ef | grep ora_mmon | grep -v grep
7:搜索匹配的行数
使用命令:grep -c "被查找的字符串" 文件名
示例:查找特定字符串在文件中的行数
8:递归搜索目录及其子目录下所有文件
使用命令:grep -r "被查找的字符串" /目录
示例:搜索特定字符串在/u01目录下的所有文件
9:获取包含搜索内容的文件
使用命令:grep -H -r "被查找的字符串" /目录 | cut -d: -f1
示例:获取/u01目录下包含特定字符串的文件
10:获取完整匹配搜索字符的内容
使用命令:grep -w "被查找的字符串" 文件名
对比两种搜索方式的差异。
11:结合find命令搜索
使用命令:find . -name '*.sql' -exec grep -i 'v\$temp_space_header' {} \; -print
示例:在当前目录下查找所有.sql文件中包含v\$temp_space_header的内容
12:vi命令也可用于文件内容搜索,但功能不如grep强大。