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
<字元串>|"<正則表達式>"
[文件名]
在文件中搜索內容
❷ 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查看一個文件內容時怎麼查找
如果是用Vim編輯器打開的文件,在Vim中查找字元串的命令是:英文斜杠後面跟要查找的字元串或回者英文問號跟要查找答的字元串,所不同的是英文斜杠表示向下查找,英文問號表示向上查找,當查找到第一個匹配時,可以輸入小寫字母n表示查找下一個匹配字元串。比如:
/hello或者?hello
如果是用圖形界面的編輯器打開的文件,比如gedit,可以用界面上的放大鏡圖標進行字元串查找。
❹ linux查找文件內容命令
搜索、查找文件當中的內容,一般最常用的是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 |<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這類錯誤,那麼我要過濾掉哪一些沒有用的,搜索的內容修改一下即可(當然也可以使用特殊參數,後面有講述),如下所示。
[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]$
7:有些場景,我們並不知道文件類型、或那些文件包含有我們需要搜索的字元串,那麼可以遞歸搜索某個目錄以及子目錄下的所有文件
[oracle@DB-Server ~]$ 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;
[oracle@DB-Server ~]$
8:如果我們只想獲取那些文件包含搜索的內容,那麼可以使用下命令
[oracle@DB-Server ~]$ 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
[oracle@DB-Server ~]$ 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
[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 |<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命令結合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命令其實也能搜索文件裡面的內容,只不過沒有grep命令功能那麼方便、強大。
❺ linux grep查找文件內容
Linux查找文件內容的常用命令方法。
1、從文件內容查找匹配指定字元串的行:
$ grep "被查找的字元串" 文件名
例子:在當前目錄里第一級文件夾中尋找包含指定字元串的.in文件
grep "thermcontact" */*.in
2、從文件內容查找與正則表達式匹配的行:
$ grep –e 「正則表達式」 文件名
3、查找時不區分大小寫:
$ grep –i "被查找的字元串" 文件名
4、查找匹配的行數:
$ grep -c "被查找的字元串" 文件名
5、從文件內容查找不匹配指定字元串的行:
$ grep –v "被查找的字元串" 文件名
6、從根目錄開始查找所有擴展名為.log的文本文件,並找出包含」ERROR」的行
find / -type f -name "*.log" | xargs grep "ERROR"
例子:從當前目錄開始查找所有擴展名為.in的文本文件,並找出包含」thermcontact」的行
find . -name "*.in" | xargs grep "thermcontact"
❻ linux下按文件名和文件內容查找文件
在當前目錄下,查找所有內容包含『abc'的文件
find . -type f | xargs grep -l 'abc'
或
find . -type f -exec grep -l 'abc' {} ;
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 中的文件查找一個文件內容
因為要裝pl/sql所以要查找tnsnames.ora文件。。看看怎麼查這個文件在Linux下的哪個目錄 find / -name tnsnames.ora 查到: /opt/app/Oracle/proct/10.2/network/admin/tnsnames.ora/opt/app/oracle/proct/10.2/network/admin/samples/tnsnam...
❾ linux如何查找文件並直接顯示查找到的文件裡面的內容
比方你要在
/path
下搜索名為
test.txt
的文件,並顯示其內容
find
/path
-name
"test.txt"
-exec
cat
{}
\;《Linux就該這么學》里有相關介紹,建議看看。
❿ 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"