成熟丰满熟妇高潮XXXXX,人妻无码AV中文系列久久兔费 ,国产精品一国产精品,国精品午夜福利视频不卡麻豆

您好,歡迎來到九壹網(wǎng)。
搜索
您的當(dāng)前位置:首頁Linux如何搜索查找文件里面內(nèi)容

Linux如何搜索查找文件里面內(nèi)容

來源:九壹網(wǎng)

?? 在Linux系統(tǒng)當(dāng)中,如何搜、索查找文件里面的內(nèi)容呢? 這個應(yīng)該是系統(tǒng)維護(hù)、管理當(dāng)中遇到最常見的需求。那么下面介紹,總結(jié)一下如何搜索、查找文件當(dāng)中的內(nèi)容。

搜索、查找文件當(dāng)中的內(nèi)容,一般最常用的是grep命令,另外還有egrep, vi命令也能搜索文件里面內(nèi)容

?

1:搜索某個文件里面是否包含字符串,使用grep "search content" filename1, 例如

?

$ grep ORA alert_gsp.log

$ grep "ORA" alert_gsp.log

?

例如我們需要搜索、查找utlspadv.sql文件中包含ORA的字符內(nèi)容

[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 |<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'
[oracle@DB-Server admin]$ 

?

如上所示,這個是一個模糊匹配,其實我是想要查看ORA這類錯誤,那么我要過濾掉哪一些沒有用的,搜索的內(nèi)容修改一下即可(當(dāng)然也可以使用特殊參數(shù),后面有講述),如下所示。

[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

?

[oracle@DB-Server admin]$ grep "v\$temp_space_header" *.sql
catspacd.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_header
catspace.sql:??????????? FROM gv$temp_space_header
[oracle@DB-Server admin]$ 

?

?

3:如果需要顯示搜索文本在文件中的行數(shù),可以使用參數(shù)-n

[oracle@DB-Server admin]$ grep? -n "v\$temp_space_header" *.sql
catspacd.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_header
catspace.sql:2357:??????????? FROM gv$temp_space_header
[oracle@DB-Server admin]$ 

?

?

4: 如果搜索時需要忽略大小寫問題,可以使用參數(shù)-i

?
[oracle@DB-Server admin]$ grep? "V\$TEMP_SPACE_HEADER" *.sql
[oracle@DB-Server admin]$ grep -i "V\$TEMP_SPACE_HEADER"? *.sql
catspacd.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_header
catspace.sql:??????????? FROM gv$temp_space_header
[oracle@DB-Server admin]$ 

另外,例如檢查安裝的MySQL組件

[root@DB-Server init.d]# rpm -qa | grep -i mysql
?
MySQL-devel-5.6.23-1.linux_glibc2.5
?
MySQL-client-5.6.23-1.linux_glibc2.5
?
MySQL-server-5.6.23-1.linux_glibc2.5

?

?

5:從文件內(nèi)容查找不匹配指定字符串的行:

?

$ grep –v "被查找的字符串" 文件名

例如查找某些進(jìn)程時,我們不想顯示包含命令grep ora_mmon的進(jìn)程,如下所示

[oracle@DB-Server admin]$ ps -ef? | grep ora_mmon? 
oracle?? 16675 16220? 0 00:09 pts/1??? 00:00:00 grep ora_mmon
oracle?? 21412???? 1? 0 Aug22 ???????? 00:00:07 ora_mmon_gsp
[oracle@DB-Server admin]$ ps -ef? | grep ora_mmon? | grep -v grep
oracle?? 21412???? 1? 0 Aug22 ???????? 00:00:07 ora_mmon_gsp
[oracle@DB-Server admin]$ 

?

6:搜索、查找匹配的行數(shù):

?

$ grep -c "被查找的字符串" 文件名

[oracle@DB-Server admin]$ 
[oracle@DB-Server admin]$ grep?? "v\$temp_space_header" *.sql
catspacd.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_header
catspace.sql:??????????? FROM gv$temp_space_header
[oracle@DB-Server admin]$ grep -c? "v\$temp_space_header"? catspacd.sql
2
[oracle@DB-Server admin]$ grep -c? "v\$temp_space_header"? catspace.sql
5
[oracle@DB-Server admin]$ 

?

?

?

[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:如果我們只想獲取那些文件包含搜索的內(nèi)容,那么可以使用下命令

?

[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:如果只想獲取和整個搜索字符匹配的內(nèi)容,那么可以使用參數(shù)w

?

你可以對比一下兩者的區(qū)別

[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 |<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'
[oracle@DB-Server admin]$ 

?

10: grep命令結(jié)合find命令搜索

[oracle@DB-Server admin]$ find . -name '*.sql' -exec grep -i 'v\$temp_space_header' {} \; -print
create 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_header
??????????? FROM gv$temp_space_header
./catspace.sql
drop 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命令其實也能搜索文件里面的內(nèi)容,只不過沒有g(shù)rep命令功能那么方便、強(qiáng)大。

?

參考資料:

?

因篇幅問題不能全部顯示,請點此查看更多更全內(nèi)容

Copyright ? 2019- 91gzw.com 版權(quán)所有 湘ICP備2023023988號-2

違法及侵權(quán)請聯(lián)系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市萬商天勤律師事務(wù)所王興未律師提供法律服務(wù)