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"
搜索、查找文件当中的内容,一般最常用的是grep命令,另外还有egrep, vi命令也能搜索文件里面内容
1:搜索某个文件里面是否包含字符串,使用grep "search content" filename1, 例如
$ grep ORA alert_gsp.log
$ grep "ORA" alert_gsp.log
例如我们需要搜索、查找utlspadv.sql文件中包含ORA的字符内容
[oracle@DB-Server 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 | =>DBS2.REGRESS.RDBMS.DEV.US.ORACLE.COM 0 0 2 99.3% 0% 0.7% ""-- | DBS1.REGRESS.RDBMS.DEV.US.ORACLE.COM=> 100% 0% 0% "" | ...-- =>DBS2.REGRESS.RDBMS.DEV.US.ORACLE.COM 92 7 99.3% 0% 0.7% "" | ...-- | CAPTURE_USER1=>DBS2.REGRESS.RDBMS.DEV.US.ORACLE.COM 2 0 0 0.E+00-- | 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'[oracle@DB-Server admin]$
如上所示,这个是一个模糊匹配,其实我是想要查看ORA这类错误,那么我要过滤掉哪一些没有用的,搜索的内容修改一下即可(当然也可以使用特殊参数,后面有讲述),如下所示。
[oracle@DB-Server 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'[oracle@DB-Server admin]$
2: 如果你想搜索多个文件是否包含某个字符串,可以使用下面方式
grep "search content" filename1 filename2.... filenamen
grep "search content" *.sql
例如我想查看当前目录下,哪些sql脚本包含视图v$temp_space_header(注意:搜索的内容如果包含特殊字符时,必须进行转义处理,如下所示)
[oracle@DB-Server admin]$ grep "v\$temp_space_header" *.sqlcatspacd.sql:drop public synonym v$temp_space_header;catspacd.sql:drop public synonym gv$temp_space_header;catspace.sql:create or replace view v_$temp_space_header as select * from v$temp_space_header;catspace.sql:create or replace public synonym v$temp_space_header for v_$temp_space_header;catspace.sql:create or replace view gv_$temp_space_header as select * from gv$temp_space_header;catspace.sql:create or replace public synonym gv$temp_space_headercatspace.sql: FROM gv$temp_space_header[oracle@DB-Server admin]$
3:如果需要显示搜索文本在文件中的行数,可以使用参数-n
[oracle@DB-Server admin]$ grep -n "v\$temp_space_header" *.sqlcatspacd.sql:68:drop public synonym v$temp_space_header;catspacd.sql:71:drop public synonym gv$temp_space_header;catspace.sql:1952:create or replace view v_$temp_space_header as select * from v$temp_space_header;catspace.sql:1953:create or replace public synonym v$temp_space_header for v_$temp_space_header;catspace.sql:1956:create or replace view gv_$temp_space_header as select * from gv$temp_space_header;catspace.sql:1957:create or replace public synonym gv$temp_space_headercatspace.sql:2357: FROM gv$temp_space_header[oracle@DB-Server admin]$
4: 如果搜索时需要忽略大小写问题,可以使用参数-i
[oracle@DB-Server admin]$ grep "V\$TEMP_SPACE_HEADER" *.sql[oracle@DB-Server admin]$ grep -i "V\$TEMP_SPACE_HEADER" *.sqlcatspacd.sql:drop public synonym v$temp_space_header;catspacd.sql:drop public synonym gv$temp_space_header;catspace.sql:create or replace view v_$temp_space_header as select * from v$temp_space_header;catspace.sql:create or replace public synonym v$temp_space_header for v_$temp_space_header;catspace.sql:create or replace view gv_$temp_space_header as select * from gv$temp_space_header;catspace.sql:create or replace public synonym gv$temp_space_headercatspace.sql: FROM gv$temp_space_header[oracle@DB-Server admin]$
另外,例如检查安装的MySQL组件
[root@DB-Server init.d]# rpm -qa | grep -i mysqlMySQL-devel-5.6.23-1.linux_glibc2.5MySQL-client-5.6.23-1.linux_glibc2.5MySQL-server-5.6.23-1.linux_glibc2.5
5:从文件内容查找不匹配指定字符串的行:
$ grep –v "被查找的字符串" 文件名
例如查找某些进程时,我们不想显示包含命令grep ora_mmon的进程,如下所示
[oracle@DB-Server admin]$ ps -ef | grep ora_mmon oracle 16675 16220 0 00:09 pts/1 00:00:00 grep ora_mmonoracle 21412 1 0 Aug22 ? 00:00:07 ora_mmon_gsp[oracle@DB-Server admin]$ ps -ef | grep ora_mmon | grep -v greporacle 21412 1 0 Aug22 ? 00:00:07 ora_mmon_gsp[oracle@DB-Server admin]$
6:搜索、查找匹配的行数:
$ grep -c "被查找的字符串" 文件名
[oracle@DB-Server admin]$ [oracle@DB-Server admin]$ grep "v\$temp_space_header" *.sqlcatspacd.sql:drop public synonym v$temp_space_header;catspacd.sql:drop public synonym gv$temp_space_header;catspace.sql:create or replace view v_$temp_space_header as select * from v$temp_space_header;catspace.sql:create or replace public synonym v$temp_space_header for v_$temp_space_header;catspace.sql:create or replace view gv_$temp_space_header as select * from gv$temp_space_header;catspace.sql:create or replace public synonym gv$temp_space_headercatspace.sql: FROM gv$temp_space_header[oracle@DB-Server admin]$ grep -c "v\$temp_space_header" catspacd.sql2[oracle@DB-Server admin]$ grep -c "v\$temp_space_header" catspace.sql5[oracle@DB-Server admin]$
7:有些场景,我们并不知道文件类型、或那些文件包含有我们需要搜索的字符串,那么可以递归搜索某个目录以及子目录下的所有文件
[oracle@DB-Server ~]$ grep -r "v\$temp_space_header" /u01/app/oracle/product/11.1.0/dbhome_1/rdbms/admin/
/u01/app/oracle/product/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/product/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/product/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/product/11.1.0/dbhome_1/rdbms/admin/catspace.sql:create or replace public synonym gv$temp_space_header
/u01/app/oracle/product/11.1.0/dbhome_1/rdbms/admin/catspace.sql: FROM gv$temp_space_header
/u01/app/oracle/product/11.1.0/dbhome_1/rdbms/admin/catspacd.sql:drop public synonym v$temp_space_header;
/u01/app/oracle/product/11.1.0/dbhome_1/rdbms/admin/catspacd.sql:drop public synonym gv$temp_space_header;
[oracle@DB-Server ~]$
8:如果我们只想获取那些文件包含搜索的内容,那么可以使用下命令
[oracle@DB-Server ~]$ grep -H -r "v\$temp_space_header" /u01/app/oracle/product/11.1.0/dbhome_1/rdbms/admin/ | cut -d: -f1
/u01/app/oracle/product/11.1.0/dbhome_1/rdbms/admin/catspace.sql
/u01/app/oracle/product/11.1.0/dbhome_1/rdbms/admin/catspace.sql
/u01/app/oracle/product/11.1.0/dbhome_1/rdbms/admin/catspace.sql
/u01/app/oracle/product/11.1.0/dbhome_1/rdbms/admin/catspace.sql
/u01/app/oracle/product/11.1.0/dbhome_1/rdbms/admin/catspace.sql
/u01/app/oracle/product/11.1.0/dbhome_1/rdbms/admin/catspacd.sql
/u01/app/oracle/product/11.1.0/dbhome_1/rdbms/admin/catspacd.sql
[oracle@DB-Server ~]$ grep -H -r "v\$temp_space_header" /u01/app/oracle/product/11.1.0/dbhome_1/rdbms/admin/ | cut -d: -f1 | uniq
/u01/app/oracle/product/11.1.0/dbhome_1/rdbms/admin/catspace.sql
/u01/app/oracle/product/11.1.0/dbhome_1/rdbms/admin/catspacd.sql
[oracle@DB-Server ~]$
9:如果只想获取和整个搜索字符匹配的内容,那么可以使用参数w
你可以对比一下两者的区别
[oracle@DB-Server 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'[oracle@DB-Server 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 | =>DBS2.REGRESS.RDBMS.DEV.US.ORACLE.COM 0 0 2 99.3% 0% 0.7% ""-- | DBS1.REGRESS.RDBMS.DEV.US.ORACLE.COM=> 100% 0% 0% "" | ...-- =>DBS2.REGRESS.RDBMS.DEV.US.ORACLE.COM 92 7 99.3% 0% 0.7% "" | ...-- | CAPTURE_USER1=>DBS2.REGRESS.RDBMS.DEV.US.ORACLE.COM 2 0 0 0.E+00-- | 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'[oracle@DB-Server admin]$
10: grep命令结合find命令搜索
[oracle@DB-Server 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[oracle@DB-Server admin]$
11: egrep -w -R 'word1|word2' ~/klbtmp
12: vi命令其实也能搜索文件里面的内容,只不过没有grep命令功能那么方便、强大。
常用的7个Linux文件内容查看命令:
1.cat由第一行开始显示文件内容
用法:
cat-A 相当于-vET的整合选项,可列出一些特殊字符而不是空白;
cat-b 列出行号,仅针对非空白行做行号显示,空白行不标行号;
cat-E 将结尾的断行字节$显示出来;
cat-n 列印出行号,连同空白行也会有行号,与-b的选项不同;
cat-T 将[tab]按键以^I显示出来;
cat-v 列出一些看不出来的特殊字符;
2.tac 由最后一行开始显示文件内容
tac-b 在行前而非行尾添加分隔标志;
tac-r 将分隔标志视作正则表达式来解析;
tac-s 使用指定字符串代替换行作为分隔标志;
3.nl 显示行号
nl-b a 无论是否为空行,均列出行号;
nl-b t 空行不列出行号;
nl-n ln 行号在荧幕的最左方显示;
nl-n rn 行号在自己栏位的最右方显示,且不加0;
nl-n rz 行号在自己栏位的最右方显示,且加0;
nl-w 行号栏位的占用的位数;
4.more 一页一页的显示文件内容
在more程序运行过程中,可以按以下键:
空白键(space):代表向下翻一页;
Enter:代表向下翻『一行』;
/字串:代表在这个显示的内容当中,向下搜寻『字串』这个关键字;
:f:立刻显示出档名以及目前显示的行数;
q:代表立刻离开more,不再显示该文件内容。
b或[ctrl]-b:代表往回翻页,不过这动作只对文件有用,对管线无用。
5.less与more类似,但是比more更好的是,他可以往前翻页
less运行时可以输入的命令有:
空白键:向下翻动一页;
[pagedown]:向下翻动一页;
[pageup]:向上翻动一页;
/字串:向下搜寻『字串』的功能;
?字串:向上搜寻『字串』的功能;
n:重复前一个搜寻(与/或?有关!);
N:反向的重复前一个搜寻(与/或?有关!);
q:离开less这个程序;
6.head 显示前几行
语法:
head-n 后面接数字,代表显示行数;
7.tail 显示后几行
tail-n 后面接数字,代表显示行数;
tail-f 表示持续侦测后面所接的档名,要等到按下[ctrl]-c才会结束tail的侦测;
步骤如下:
1.点击终端,点击打开开始菜单上的终端。
2.输入命令按下回车,在终端上输入cat命令,后面加上要查看内容的文件的路径,按下回车键。
3.查看到内容,在终端里查看到文件的内容。
Linux有三个查看文件的命令,若希望在查看文件内容过程中可以用光标上...
C。本题考查Linux文件内容查看命令。使用cat、more、less都可以查看文本内容,cat命令一次性将文件内容全部输出,more命令可以分页查看,less命令可以使用光标向上或向下移动一行。menu命令和查看文件无关。cat 命令用于连接文件并打印到标准输出设备上。cat是concatenate的简写,类似于dos下面的type命令,使用权限...
如何在Linux下查找文件内容包含某个特定字符串的文件
例子:grep "192.168.0.1" \/etc 文件名可以使用基本正则表达式(BRE),例如, 查找test目录下的所有文件,是否包含www.dutycode.com字符串。grep “www.dutycode.com” \/root\/zzh\/test\/ 小贴士:使用-n 参数,可以显示字符串在文件中的行数 拓展内容关于grep的命令的使用:几个常用的查询指令:1...
linux下无需解压查看压缩文件内容
在Linux世界中,如何高效查看压缩文件内容?无需繁琐解压,zcat是你的得力助手!<\/ 当处理Linux系统中的大型压缩文件时,我们常常需要先解压再查看,这无疑会消耗大量时间。今天,让我们深入了解一个强大且便捷的命令行工具——zcat<\/,它无需解压即可揭示压缩文件的秘密。zcat,解压查看两不误<\/ zcat,...
linux查看修改文件内容命令linux查看修改文件
linux怎么看文件的字符集编码?可以在命令行执行file命令查看返回信息以便确认文件的字符集编码。格式:file文件名 例如:fileABC.log ABC.log:UTF-8Unicodetext 从结果看该文件是utf-8格式 fileword.txtword.txt:ASCIItext 从结果看该文件是gbk格式 如果不符合要求,可以通过iconv命令更改文件格式。linux...
Linux下查看文件命令选择
Linux内有三大命令可以用来查看文件内容,分别是cat、more、和less,他们之间既有共同点又有区别,例如:cat可以一次性显示整个文件的内容,还可以将多个文件连接起来显示,常与重定向符号配合使用,适用于文件内容少的情况,而more和less一般用于显示文件内容超过一屏的内容,并且提供翻页的功能。more比cat...
linux怎么查看文件内每个字符
Linux查找文件内容的常用命令方法。从文件内容查找匹配指定字符串的行:grep "被查找的字符串" 文件名 例子:在当前目录里第一级文件夹中寻找包含指定字符串的.in文件 grep "thermcontact" *\/*.in 从文件内容查找与正则表达式匹配的行:grep –e “正则表达式” 文件名 查找时不区分大小写:grep –i...
linux查看文件空间
很多朋友都想知道linux如何查看文件空间?下面就一起来说说吧!linux查看文件空间 1、打开linux系统,在linux的桌面的空白处右击。2、在弹出的下拉选项里,点击打开终端。3、最后在终端里面输入du +文件名回车,接着选择自己要查看的文件,就能查看到文件的空间大小了。
Linux中使用grep命令搜索文件名及文件内容的方法
从文件中搜索并显示文件名 当你从不止一个的文件中搜索时,默认它将显示文件名:代码如下:grep "word" 文件名 grep root \/etc\/ 示例输出:代码如下:\/etc\/bash.bashrc: See "man sudo_root" for details.\/etc\/crontab:17 * * * * root cd \/ run-parts --report \/...
Linux的系统文件怎么查看?
1、进入到系统之后,双击箭头所指的符号,就可以进入系统根目录了,相当于Windows里面的“我的电脑”。2、点击“Computer”,就可以看见根目录下的文件和文件夹了。3、窗口上方显示的是当前所在的目录位置,可以随时查看自己处于哪个目录中。4、如果使用的是Linux系统的命令行,则方法又会不一样了。首先要...
linux系统怎么查看文件指定行的数据
linux系统查看文件指定行的数据可以使用sed命令。1、比如如下图所示的t.tt的文件内容。2、现在只查看t.tt中的第3行内容。sed -n '3p' t.tt 说明:sed是正则表达式工具,一般用于处理行。-n参数用于说明仅显示script处理后的结果,即只显示单引内执行的脚本。引号内的3p,3是行号,p是打印输出print...
薄霭醋酸: 通过命令+文件名查看内容.如下命令可以查看.1, cat :由第一行开始显示文件内容; 2,tac:从最后一行开始显示,可以看出tac与cat字母顺序相反; 3,nl:显示的时候输出行号; 4,more:一页一页的显示文件内容; 5,less与more类似,但它可以向前翻页; 6,head:只看前几行; 7,tail:只看最后几行; 8,od:以二进制的方式读取文件. 9,vi和vim作为编辑器,也可以打开文件查看内容.
宁远县15152163303: Linux里怎样查找文件内容 - ?
薄霭醋酸: Linux查找文件内容的常用命令方法. 1、从文件内容查找匹配指定字符串的行: $ grep "被查找的字符串" 文件名 例子:在当前目录里第一级文件夹中寻找包含指定字符串的.in文件 grep "thermcontact" */*.in 2、从文件内容查找与正则表达...
宁远县15152163303: linux 查找文件内容 命令 哪些 - ?
薄霭醋酸: find 文件路径 -name 文件名 (这样会找指定路径下的指定文件) 如果查找文件内容:grep -ir 搜索内容 文件目录名 (这样就能将文件内的东西也能挨个遍历找打)
宁远县15152163303: Linux系统查看文件内容的命令有哪些 - ?
薄霭醋酸: 最常用的是cat cat filename 然后还可以用more,tail, head, vi, vim等
宁远县15152163303: Linux哪条命令,可以显示文件里的内容? - ?
薄霭醋酸: cat
宁远县15152163303: linux命令怎么显示文件某一行或几行内容 - ?
薄霭醋酸: 使用sed命令; 具体查看使用规则: #sed --help; 显示文件X行命令: #sed -n 'xp' filename 显示文件X行到Y行的内容: #sed -n 'x,yp' filename相关显示命令还有tail,cat.awk,head等,可以常看LInux命令大全,或者man命令|help命令查看相关用法.
宁远县15152163303: Linux列出当前目录下的文件和目录用什么命令 - ?
薄霭醋酸: ls命令. Is是List的缩写,表示显示文件目录列表.(只显示非隐藏文件的文件名) 参数: -a:--all的缩写,显示所有文件,包括隐藏文件(以 . 开头的文件) -L:列出长数据串,显示文件的大小,时间等数据信息. ls -la:表示显示文件包括的所...
宁远县15152163303: 如何在Linux中more命令查看文本文档 - ?
薄霭醋酸: 1、命令格式: more [-dlfpcsu ] [-num ] [+/ pattern] [+ linenum] [file ... ] 2、命令功能: more命令和cat的功能一样都是查看文件里的内容,但有所不同的是more可以按页来查看文件的内容,还支持直接跳转行等功能. 3、查看文档一般用到的几个命令 cat xxx 读取整个文件 more xxx 分屏查看 tail xxx 查看最后10行 可以写成 tail -n50 查看最后50行