當前位置:首頁 » 操作系統 » linux搜索文件內容

linux搜索文件內容

發布時間: 2022-04-14 05:10:02

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查找內容命令

find,用於在文件樹中查找文件並作相應的處理

-name:按照文件名查找文件

-perm:按照文件許可權查找文件

-user:按照文件屬主來查找文件

-size:按照指定的文件大小查找文件【+n:大於,-n:小於,n:等於】

-group:按照文件所屬的組來查找文件

-mtime<-n><+n>:按照文件更改時間來查找文件,-n表示n天之內,+n表示n天以前

-newer file1 file2:查找更改時間在file1和file2之間的文件

例如:

  • find -mtime -2:查找48小時修改過的文件

  • find -name ".log":查找當前目錄以".log"結尾的文件

  • find /opt/soft/test -perm 777:查找指定目錄下許可權為777的文件

  • find -type f -name "*.log":查找當前目錄下以".log"結尾的普通文件

  • find -type d | sort:查找當前所有目標目錄並排序

  • find /home/wansw -size +20M:查找大於20M的文件

  • locate指令,可以快速定位文件路徑,利用事先建立的系統中的所有文件名稱和路徑的locate資料庫,無需遍歷整個文件系統,查詢速度較快,為了保證查詢准確性,需要定期更新。《Linux就該這么學》

  • updatedb:第一次運行前,創建locate資料庫

  • grep,用於過濾/搜索指定字元串。可以使用正則表達式,能配合多種命令使用。

    用法:grep 【選項】 查找內容 源文件

    -A:顯示符合的行及之後的內容

    -B:顯示符合的行及之前的內容

    -C:顯示符合的行及前後的內容

    -c:計算符合的行數目

    -n:顯示匹配行和行號

    -i:忽略大小寫

    規則表達式

    :'grep'表示匹配所有以grep開頭的行

    '表示匹配所有以grep結尾的行

    .:'gr.p'表示匹配'gr'後面接任意字元然後是'p'

    :'grep'表示匹配一個或多個空格後緊跟grep的行

    []:[Gg]rep表示匹配Grep與grep

    []:[A-FH-Z]rep表示匹配不以A-F、H-Z開頭並緊跟rep的行

    例如(grep命令大多數時候多要和別的命令一起使用才有意義):

    ps -ef | grep -c SVN:查找指定的進程的個數

    cat test.txt | grep -f test2.txt:從text2.txt中讀取關鍵字後在test.txt中搜索

    cat test.txt | grep nf text2.txt:從text2.txt中讀取關鍵字後在text.txt中搜索並顯示行號

    grep 'linux' text.txt test2.txt:從多個文件中搜索關鍵字'linux'

    cat test.txt | grep -E 'ed|at':顯示包含ed或at的行

⑶ Linux如何對文件內容中的關鍵字進行查找

1、首先我們准備一個要查找的文件,如下圖所示。

⑷ linux下按文件名和文件內容查找文件

在當前目錄下,查找所有內容包含『abc'的文件

find . -type f | xargs grep -l 'abc'

find . -type f -exec grep -l 'abc' {} ;

(4)linux搜索文件內容擴展閱讀:

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中如何查找文件

查找文件使用find命令,命令格式:find 路徑 -name 文件名
例如要在整個根目錄下查找test.txt文件,find / -name test.txt,需要注意的是必須對要查找的那個目錄有可讀許可權
以上就是關於Linux中查找文件的內容,學習軟體測試也需要學習Linux,如果你想學,可以看黑馬程序員視頻庫的視頻哦!

⑹ 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下查找文件內容

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查找文檔內容

1. more指令 —— 分頁顯示文件內容
more指令會以一頁一頁的形式顯示文件內容,按空白鍵(space)顯示下一頁內容,按Enter鍵會顯示下一行內容,按 b 鍵就會往回(back)一頁顯示,其基本用法如下:
more    file1             查看文件file1的文件內容;
more   -num   file2    查看文件file2的內容,一次顯示num行;
more   +num   file3   查看文件file3的內容,從第num行開始顯示;
2. less指令 —— 可以向前或向後查看文件內容
less指令查看文件內容時可以向前或向後隨意查看內容;
less指令的基本用法為:
less   file1    查看文件file1的內容;
less   -m    file2     查看文件file2的內容,並在屏幕底部顯示已顯示內容的百分比;
按空格鍵顯示下一屏的內容,按回車鍵顯示下一行的內容; 
按  U  向前滾動半頁,按  Y   向前滾動一行;
按[PageDown]向下翻動一頁,按[PageUp]向上翻動一頁;
按   Q   退出less命令;
3. head指令 —— 查看文件開頭的內容
head指令用於顯示文件開頭的內容,默認情況下,只顯示文件的頭10行內容;
head指令的基本用法:
head  -n  <行數>   filename      顯示文件內容的前n行;
例如:head   -n   5   file1     顯示文件file1的前5行內容
head   -c  <位元組>    filename      顯示文件內容的前n個位元組;
例如:head  -c  20  file2      顯示文件file2的前20個位元組內容
4. tail指令 —— 顯示文件尾部的內容
 tail指令用於顯示文件尾部的內容,默認情況下只顯示指定文件的末尾10行;
tail指令的基本用法:
tail    file1      顯示文件file1的尾部10行內容;
tail  -n  <行數>  filename    顯示文件尾部的n行內容;
例如:tail  -n  5   file1    顯示文件file1的末尾5行內容
tail  -c  <位元組數>   filename     顯示文件尾部的n個位元組內容;
例如:tail  -c  20   file2    顯示文件file2的末尾20個位元組
5. cat指令 —— 顯示文件內容
使用cat命令時,如果文件內容過多,則只會顯示最後一屏的內容;
cat指令的基本用法:
cat   file1        用於查看文件名為file1的文件內容;
cat   -n   file2       查看文件名為file2的文件內容,並從1開始對所有輸出的行數(包括空行)進行編號;
cat   -b   file3      查看文件名為file3的文件內容,並從1開始對所有的非空行進行編號;

⑼ linux下查找文件的命令

1、最強大的搜索命令:find 查找各種文件的命令

2、在文件資料中查找文件:locate

3、搜索命令所在的目錄及別名信息:which

4、搜索命令所在的目錄及幫助文檔路徑:whereis

5、在文件中搜尋字元串匹配的行並輸出:grep

6、分頁顯示一個文件或任何輸出結果:more

7、分頁顯示一個文件並且可以回頭:less

8、指定顯示前多少行文件內容:head

9、指定顯示文件後多少行內容:tail

10、查看一個文件:cat

11、查看文件內容多少字元多少行多少位元組:wc

12、排序文件內容:sort

⑽ Linux里怎樣查找文件內容

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"

熱點內容
網址能解壓嗎 發布:2024-11-15 08:54:09 瀏覽:933
python更改目錄 發布:2024-11-15 08:41:08 瀏覽:265
伺服器快閃記憶體可以裝在一般電腦上嗎 發布:2024-11-15 08:36:46 瀏覽:8
安卓手機怎麼查詢自己的路線軌跡 發布:2024-11-15 08:32:19 瀏覽:968
phpdatet 發布:2024-11-15 08:32:17 瀏覽:507
HDB3編解碼實驗 發布:2024-11-15 08:17:31 瀏覽:212
怪星球編程 發布:2024-11-15 08:15:55 瀏覽:844
慧編程價格 發布:2024-11-15 08:14:09 瀏覽:459
python多行注釋的快捷鍵 發布:2024-11-15 08:09:14 瀏覽:957
c1腳本病毒 發布:2024-11-15 07:59:04 瀏覽:612