① linux查找文件内容命令
搜索、查找文件当中的内容,一般最常用的是grep命令,另外还有egrep, vi命令也能搜索文件里面内容
1:搜索某个文件里面是否包含字符串,使用grep "search content" filename1, 例如
$ grep ORA alert_gsp.log
$ grep "ORA" alert_gsp.log
例如我们需要搜索、查找utlspadv.sql文件中包含ORA的字符内容
[[email protected] admin]$ grep "ORA" utlspadv.sql– ORA-XXXXX: Monitoring already started. If for example you want– ORA-20111:– ORA-20112:– ORA-20113: 'no active monitoring job found'– ORA-20113: 'no active monitoring job found'– 0 |<PS> =>DBS2.REGRESS.RDBMS.DEV.US.ORACLE.COM 0 0 2 99.3% 0% 0.7% ""– |<PR> DBS1.REGRESS.RDBMS.DEV.US.ORACLE.COM=> 100% 0% 0% "" |<PR> …– =>DBS2.REGRESS.RDBMS.DEV.US.ORACLE.COM 92 7 99.3% 0% 0.7% "" |<PR> …– |<C> CAPTURE_USER1=>DBS2.REGRESS.RDBMS.DEV.US.ORACLE.COM 2 0 0 0.E+00– |<C> CAPTURE_USER1=>DBS2.REGRESS.RDBMS.DEV.US.ORACLE.COM– ORA-20111:– ORA-20112:– ORA-20100:– ORA-20113: 'no active monitoring job found'– ORA-20113: 'no active monitoring job found'[[email protected] admin]$
如上所示,这个是一个模糊匹配,其实我是想要查看ORA这类错误,那么我要过滤掉哪一些没有用的,搜索的内容修改一下即可(当然也可以使用特殊参数,后面有讲述),如下所示。
[[email protected] admin]$ grep "ORA-" utlspadv.sql– ORA-XXXXX: Monitoring already started. If for example you want– ORA-20111:– ORA-20112:– ORA-20113: 'no active monitoring job found'– ORA-20113: 'no active monitoring job found'– ORA-20111:– ORA-20112:– ORA-20100:– ORA-20113: 'no active monitoring job found'– ORA-20113: 'no active monitoring job found'[[email protected] admin]$
7:有些场景,我们并不知道文件类型、或那些文件包含有我们需要搜索的字符串,那么可以递归搜索某个目录以及子目录下的所有文件
[[email protected] ~]$ grep -r "v$temp_space_header" /u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/
/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspace.sql:create or replace view v_$temp_space_header as select * from v$temp_space_header;
/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspace.sql:create or replace public synonym v$temp_space_header for v_$temp_space_header;
/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspace.sql:create or replace view gv_$temp_space_header as select * from gv$temp_space_header;
/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspace.sql:create or replace public synonym gv$temp_space_header
/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspace.sql: FROM gv$temp_space_header
/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspacd.sql:drop public synonym v$temp_space_header;
/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspacd.sql:drop public synonym gv$temp_space_header;
[[email protected] ~]$
8:如果我们只想获取那些文件包含搜索的内容,那么可以使用下命令
[[email protected] ~]$ grep -H -r "v$temp_space_header" /u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/ | cut -d: -f1
/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspace.sql
/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspace.sql
/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspace.sql
/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspace.sql
/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspace.sql
/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspacd.sql
/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspacd.sql
[[email protected] ~]$ grep -H -r "v$temp_space_header" /u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/ | cut -d: -f1 | uniq
/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspace.sql
/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspacd.sql
[[email protected] ~]$
9:如果只想获取和整个搜索字符匹配的内容,那么可以使用参数w
你可以对比一下两者的区别
[[email protected] admin]$ grep -w "ORA" utlspadv.sql– ORA-XXXXX: Monitoring already started. If for example you want– ORA-20111:– ORA-20112:– ORA-20113: 'no active monitoring job found'– ORA-20113: 'no active monitoring job found'– ORA-20111:– ORA-20112:– ORA-20100:– ORA-20113: 'no active monitoring job found'– ORA-20113: 'no active monitoring job found'[[email protected] admin]$ grep "ORA" utlspadv.sql– ORA-XXXXX: Monitoring already started. If for example you want– ORA-20111:– ORA-20112:– ORA-20113: 'no active monitoring job found'– ORA-20113: 'no active monitoring job found'– 0 |<PS> =>DBS2.REGRESS.RDBMS.DEV.US.ORACLE.COM 0 0 2 99.3% 0% 0.7% ""– |<PR> DBS1.REGRESS.RDBMS.DEV.US.ORACLE.COM=> 100% 0% 0% "" |<PR> …– =>DBS2.REGRESS.RDBMS.DEV.US.ORACLE.COM 92 7 99.3% 0% 0.7% "" |<PR> …– |<C> CAPTURE_USER1=>DBS2.REGRESS.RDBMS.DEV.US.ORACLE.COM 2 0 0 0.E+00– |<C> CAPTURE_USER1=>DBS2.REGRESS.RDBMS.DEV.US.ORACLE.COM– ORA-20111:– ORA-20112:– ORA-20100:– ORA-20113: 'no active monitoring job found'– ORA-20113: 'no active monitoring job found'[[email protected] admin]$
10: grep命令结合find命令搜索
[[email protected] admin]$ find . -name '*.sql' -exec grep -i 'v$temp_space_header' {} ; -printcreate or replace view v_$temp_space_header as select * from v$temp_space_header;create or replace public synonym v$temp_space_header for v_$temp_space_header;create or replace view gv_$temp_space_header as select * from gv$temp_space_header;create or replace public synonym gv$temp_space_headerFROM gv$temp_space_header./catspace.sqldrop public synonym v$temp_space_header;drop public synonym gv$temp_space_header;./catspacd.sql[[email protected] admin]$
11: egrep -w -R 'word1|word2' ~/klbtmp
12: vi命令其实也能搜索文件里面的内容,只不过没有grep命令功能那么方便、强大。
② linux下按文件名和文件内容查找文件
在当前目录下,查找所有内容包含‘abc'的文件
find . -type f | xargs grep -l 'abc'
或
find . -type f -exec grep -l 'abc' {} ;
(2)find查找文件内容扩展阅读:
linux查找文件命内令find
根据部分文件名查找方法:容
这个方法和在WINDOWS中查找已知的文件名方法是一样的。不过在Linux中根据部分文件名查找文件的方法要比在WINDOWS中的同类查找方法要强大得多。
例如我们知道某个文件包含有srm这3个字母,那么要找到系统中所有包含有这3个字母的文件是可以实现的,输入:
find /etc -name '*srm*'
这个命令表明了Linux系统将在/etc整个目录中查找所有的包含有srm这3个字母的文件,比如 absrmyz, tibc.srm等等符合条件的文件都能显示出来。如果你还知道这个文件是由srm 这3个字母打头的,那么我们还可以省略最前面的星号,命令如下:
find/etc -name 'srm*'
这是只有像srmyz 这样的文件才被查找出来,象absrmyz或者 absrm这样的文件都不符合要求,不被显示,这样查找文件的效率和可靠性就大大增强了。
③ linux如何查找文件并直接显示查找到的文件里面的内容~在线等~
比方你要在 /path 下搜索名为 test.txt 的文件,并显示其内容find /path -name "test.txt" -exec cat {} \;
④ linux如何查找文件并直接显示查找到的文件里面的内容
比方你要在/path下搜索名为test.txt的文件,并显示其内容find/path-name"test.txt"-execcat{}\;《Linux就该这么学》里有相关介绍,建议看看。
⑤ linux 查找文件内容命令
Linux查找文件内容的常用命令方法。 从文件内容查找匹配指定字符串的行:$ grep "被查找的字符串" 文件名例子:在当前目录里第一级文件夹中寻找包含指定字符串的.in文件grep "thermcontact" */*.in从文件内容查找与正则表达式匹配的行:$ grep –e “正则表达式” 文件名查找时不区分大小写:$ grep –i "被查找的字符串" 文件名查找匹配的行数:$ grep -c "被查找的字符串" 文件名从文件内容查找不匹配指定字符串的行:$ grep –v "被查找的字符串" 文件名学习更多linux知识《Linux就该这么学》,从根目录开始查找所有扩展名为.log的文本文件,并找出包含”ERROR”的行find / -type f -name "*.log" | xargs grep "ERROR"例子:从当前目录开始查找所有扩展名为.in的文本文件,并找出包含”thermcontact”的行find . -name "*.in" | xargs grep "thermcontact"
⑥ Linux里怎样查找文件内容
Linux查找文件内容的常用命令方法。 从文件内容查找匹配指定字符串的行:$ grep "被查找的字符串" 文件专名例子:在当前属目录里第一级文件夹中寻找包含指定字符串的.in文件grep "thermcontact" */*.in从文件内容查找与正则表达式匹配的行:$ grep –e “正则表达式” 文件名查找时不区分大小写:$ grep –i "被查找的字符串" 文件名查找匹配的行数:$ grep -c "被查找的字符串" 文件名从文件内容查找不匹配指定字符串的行:$ grep –v "被查找的字符串" 文件名从根目录开始查找所有扩展名为.log的文本文件,并找出包含”ERROR”的行find / -type f -name "*.log" | xargs grep "ERROR"例子:从当前目录开始查找所有扩展名为.in的文本文件,并找出包含”thermcontact”的行find . -name "*.in" | xargs grep "thermcontact"
⑦ linux find能搜索文件里面的内容吗
find 文件查找命令,用find命令在我们的系统中查找所需的文件。搜索文件里面的内回容一般用grep,答grep 文本搜索,是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。可以使用grep命令在文件中查找指定的字符串。 -n 在匹配的行前面打印行号 -w 精确查找 例:1、grep aaa test.txt (在test.txt中搜索包含aaa内容) 2、grep –wn aaa test.txt (在test.txt文件中搜索aaa) 3、grep –wn aaa * (在当前目录下的所有文件中搜索aaa)
⑧ linux下查找文件内容
GVIM 可以分割窗口实现查找多个文件的功能。不过最好是用命令行这个强大的工具了。比如查找 /home/znsys/ 下所有含 VoIP 的文件名称:grep -l 'VoIP' /home/znsys/*比如查找 /home/znsys/ 文件夹下的所有第三层目录内所有文件中包含 “networking" 的行:如这些目录:/home/znsys/client_1/data//home/znsys/client_2/data/ /home/znsys/vendor_1/data/命令为:grep -i /home/znsys/*/data/* 'networking'搜索—-whereis <程序名称>查找软件的安装路径-b 只查找二进制文件-m 只查找帮助文件-s 只查找源代码-u 排除指定类型文件-f 只显示文件名-B <目录> 在指定目录下查找二进制文件-M <目录> 在指定目录下查找帮助文件-S <目录> 在指定目录下查找源代码locate <文件名称>在文件索引数据库中搜索文件-d <数据库路径> 搜索指定数据库updatedb更新文件索引数据库find [路径] <表达式>查找文件-name <表达式> 根据文件名查找文件-iname <表达式> 根据文件名查找文件,忽略大小写-path <表达式> 根据路径查找文件-ipath <表达式> 根据路径查找文件,忽略大小写-amin <分钟> 过去N分钟内访问过的文件-atime <天数> 过去N天内访问过的文件-cmin <分钟> 过去N分钟内修改过的文件-ctime <天数> 过去N天内修改过的文件-anewer <参照文件> 比参照文件更晚被读取过的文件-cnewer <参照文件> 比参照文件更晚被修改过的文件-size <大小> 根据文件大小查找文件,单位b c w k M G-type <文件类型> 根据文件类型查找文件。b 块设备 c 字符设备 d 目录 p 管道文件 f 普通文件 l 链接 s 端口文件-user <用户名> 按归属用户查找文件-uid <uid> 按UID查找文件-group <群组名> 按归属群组查找文件-gid <gid> 按GID查找文件-empty 查找空文件grep <字符串>|"<正则表达式>" [文件名]在文件中搜索内容
⑨ 使用find命令怎么查找一个文件
在文件中搜索字符串。FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] "string" [[drive:][path]filename[ …]]/V 显示所有未包含指定字符串的行。/C 仅显示包含字符串的行数。/N 显示行号。/I 搜索字符串时忽略大小写。/OFF[LINE] 不要跳过具有脱机属性集的文件。"string" 指定要搜索的文本字符串。[drive:][path]filename指定要搜索的文件。如果没有指定路径,FIND 将搜索在提示符处键入的文本或者由另一命令产生的文本。搜索文件可以用 dir命令显示目录中的文件和子目录列表。DIR [drive:][path][filename] [/A[[:]attributes]] [/B] [/C] [/D] [/L] [/N][/O[[:]sortorder]] [/P] [/Q] [/R] [/S] [/T[[:]timefield]] [/W] [/X] [/4][drive:][path][filename]指定要列出的驱动器、目录和/或文件。/A 显示具有指定属性的文件。属性 D 目录 R 只读文件H 隐藏文件 A 准备存档的文件S 系统文件 I 无内容索引文件L 解析点 – 表示“否”的前缀/B 使用空格式(没有标题信息或摘要)。/C 在文件大小中显示千位数分隔符。这是默认值。用 /-C 来禁用分隔符显示。/D 跟宽式相同,但文件是按栏分类列出的。/L 用小写。/N 新的长列表格式,其中文件名在最右边。/O 用分类顺序列出文件。排列顺序 N 按名称(字母顺序) S 按大小(从小到大)E 按扩展名(字母顺序) D 按日期/时间(从先到后)G 组目录优先 – 反转顺序的前缀/P 在每个信息屏幕后暂停。/Q 显示文件所有者。/R 显示文件的备用数据流。/S 显示指定目录和所有子目录中的文件。/T 控制显示或用来分类的时间字符域。时间段 C 创建时间A 上次访问时间W 上次写入的时间/W 用宽列表格式。/X 显示为非 8.3 文件名产生的短名称。格式是 /N 的格式,短名称插在长名称前面。如果没有短名称,在其位置则显示空白。/4 用四位数字显示年可以在 DIRCMD 环境变量中预先设定开关。通过添加前缀 – (破折号)来替代预先设定的开关。例如,/-W。
⑩ 怎样用find命令找出某人的文件
用find命令找出某人的文件的方法1、find的语法:find [起始目录] 寻找条件 操作2、表述方式:find PATH OPTION [-exec COMMAND { } \;]find命令会根据用户给的option,也就是寻找条件从用户给出的目录开始对其中文件及其下子目录中的文件进行递归搜索。该命令中的寻找条件可以是一个用逻辑运算符 not、and、or 组成的复合条件。逻辑运 算符 and、or、not 的含义为:(1) and:逻辑与,在命令中用“-a”表示,是系统缺省的选项,表示只有当所给的条 件都满足时,寻找条件才算满足。例如:find –name ’tmp’ –xtype c -user ’inin’% 该命令寻找三个给定条件都满足的所有文件。(2) or:逻辑或,在命令中用“-o”表示。该运算符表示只要所给的条件中有一个满足 时,寻找条件就算满足。例如:find –name ’tmp’ –o –name ’mina*’% 该命令查询文件名为’tmp’或是匹配’mina*’的所有文件。(3) not:逻辑非,在命令中用“!”表示。该运算符表示查找不满足所给条件的文件 。例如:find ! –name ’tmp’% 该命令查询文件名不是’tmp’的所有文件。需要说明的是:当使用很多的逻辑选项时,可以用括号把这些选项括起来。为了避免Shell本身对括号引起误解,在话号前需要加转义字符“\”来去除括号的意义。例:find \(–name ’tmp’ –xtype c -user ’inin’ \)3、在find中的option的内容了:在option中,具体有参数:-name ’字串’ 查找文件名匹配所给字串的所有文件,字串内可用通配符 *、?、[ ]。-lname ’字串’ 查找文件名匹配所给字串的所有符号链接文件,字串内可用通配符 *、?、[ ]。-gid n 查找属于ID号为 n 的用户组的所有文件。-uid n 查找属于ID号为 n 的用户的所有文件。-group ’字串’ 查找属于用户组名为所给字串的所有的文件。-user ’字串’ 查找属于用户名为所给字串的所有的文件。-empty 查找大小为 0的目录或文件。-path ’字串’ 查找路径名匹配所给字串的所有文件,字串内可用通配符*、?、[ ]。-perm 权限 查找具有指定权限的文件和目录,权限的表示可以如711,644。-size n[bckw] 查找指定文件大小的文件,n 后面的字符表示单位,缺省为 b,代表512字节的块。-type x 查找类型为 x 的文件,x 为下列字符之一:b 块设备文件c 字符设备文件d 目录文件p 命名管道(FIFO)f 普通文件l 符号链接文件(symbolic links)s socket文件-xtype x 与 -type 基本相同,但只查找符号链接文件。以时间为条件查找-amin n 查找n分钟以前被访问过的所有文件。-atime n 查找n天以前被访问过的所有文件。-cmin n 查找n分钟以前文件状态被修改过的所有文件。-ctime n 查找n天以前文件状态被修改过的所有文件。-mmin n 查找n分钟以前文件内容被修改过的所有文件。-mtime n 查找n天以前文件内容被修改过的所有文件。-print:将搜索结果输出到标准输出。
未经允许不得转载:山九号 » find查找文件内容|linux find能搜索文件里面的内容吗