使用grep可以查找包含指定字元串的文件
格式:
grep 「要查找的字元串」 文件名
例子:
grep "192.168.0.1" /etc
文件名可以使用基本正則表達式(BRE),例如, 查找test目錄下的所有文件,是否包含www.tycode.com字元串。
grep 「www.tycode.com」 /root/zzh/test/*
幾個常用的查詢指令:
1、查找時不區分字元串的大小寫
grep -i 「查找的字元串」 文件名
2、查找時使用正則表達式,匹配符合的字元串
grep -e 「正則表達式」 文件名
3、查找不匹配指定字元串的行:
grep -v 「被查找的字元串」 文件名
4、查找時顯示被查找字元串所在的行數
grep -n 「查找的字元串」 文件名
Ⅱ linux下查找某個目錄下所有文件中是否含有某個字元串
使用命令 grep 來查找
1:找到並顯示內容 grep -R "要查詢的字元" 文件夾名稱
2:不顯示內容只是找到包含字元的文件 grep -lR "要查詢的字元" 文件夾名稱
Ⅲ linux grep命令怎麼用
grep (global search regular expression(RE) and print out the line,全面搜索正則表達式並把行列印出來)是一種強大的文本搜索工具,它能使用正則表達式搜索文本,並把匹配的行列印出來。
Unix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的擴展,支持更多的re元字元, fgrep就是fixed grep或fast grep,它們把所有的字母都看作單詞,也就是說,正則表達式中的元字元表示回其自身的字面意義,不再特殊。linux使用GNU版本的grep。它功能更強,可以通過-G、-E、-F命令行選項來使用egrep和fgrep的功能。
grep的詳細使用方法有很厚一本書,此處無法詳細說明,只能列出grep常用用法
[root@www ~]# grep [-acinv] [--color=auto] '搜尋字元串' filename
選項與參數:
-a :將 binary 文件以 text 文件的方式搜尋數據
-c :計算找到 '搜尋字元串' 的次數
-i :忽略大小寫的不同,所以大小寫視為相同
-n :順便輸出行號
-v :反向選擇,亦即顯示出沒有 '搜尋字元串' 內容的那一行!
--color=auto :可以將找到的關鍵詞部分加上顏色的顯示喔!
Ⅳ linux查找目錄下的所有文件中是否含有某個字元串
grep -rn "要查找的字元串" *
-r 是遞歸查找
-n 是顯示行號
*: 表示當前目錄所有文件,也可以是某專個文件名。
grep命令屬的常用格式為:grep [選項] 」模式「 [文件]。
模式部分:
1、直接輸入要匹配的字元串,這個可以用fgrep(fast grep)代替來提高查找速度,比如我要匹配一下hello.c文件中printf的個數:fgrep -c "printf" hello.c。
2、使用基本正則表達式。
(4)greprn查找文件內容擴展閱讀:
查找字元串的第二種方法:
find .|xargs grep 「要查找的字元串」
find . -exec grep 「要查找的字元串」 {} ;
find / -name "要查找的字元串"
find / -name "要查找的字元串"
Ⅳ Linux如何對文件內容中的關鍵字進行查找
1、首先我們准備一個要查找的文件,如下圖所示。
Ⅵ linux下批量查詢文件內容字元串並替換
查找批量替換文件時,去除某種類型的文件,下面表示在./salt/*下的所有文件中,不包括tar.gz結尾的文件,搜索包含有node01字元串的文件
grep "node01" -rl ./salt/* --exclude=*.tar.gz
其實這里的 -r表示遞歸,-l表示輸出文件名,
也可以將 -rl替換為-rn,-n表示是哪一行,會輸出行號詳細信息
grep "node01" -rn ./salt/* --exclude=*.tar.gz
替換字元串:
把./salt/*目前下所有文件進行遍歷,查是否包含node01字元串的,不包括tar.gz結尾的文件。然後把node01用test01進行批量替換。
grep "node01" -rl ./salt/* --exclude=*.tar.gz | xargs sed -i 's/node01/test01/g'
Ⅶ grep命令
grep命令是一個強大的文本搜索工具,它能使用正則表達式搜索文本,並把匹配的行列印出來。
正則表達式是描述一組字元串的一個模式,正則表達式可以是一些純文本文字,也可以是用來產生模式的一些特殊字元。
grep命令在每一個文件或特定輸出中搜索特定的模式,當使用grep時,會輸出跟指定模式匹配的每一行,但是使用grep命令並不改變文件中的內容。
如果發現某文件的內容符合所指定的範本樣式,預設grep指令會把含有範本樣式的那一列顯示出來。若不指定任何文件名稱,或是所給予的文件名為-,則grep指令會從標准輸入設備讀取數據。
語法:grep [-abcEFGhHilLnqrsvVwxy][-A<顯示行數>][-B<顯示列數>][-C<顯示列數>][-d<進行動作>][-e<範本樣式>][-f<範本文件>][--help][範本樣式][文件或目錄...]。
參數:
-a或--text :不要忽略二進制的數據。
-A<顯示行數>或--after-context=<顯示行數>:除了顯示符合範本樣式的那一列之外,並顯示該行之後的內容。
-b或--byte-offset :在顯示符合樣式的那一行之前,標示出該行第一個字元的編號。
-B<顯示行數>或--before-context=<顯示行數>:除了顯示符合樣式的那一行之外,並顯示該行之前的內容。
-c或--count :計算符合樣式的列數。
-C<顯示行數>或--context=<顯示行數>或-<顯示行數>:除了顯示符合樣式的那一行之外,並顯示該行之前後的內容。
-d <動作>或--directories=<動作>:當指定要查找的是目錄而非文件時,必須使用這項參數,否則grep指令將回報信息並停止動作。
-e<範本樣式>或--regexp=<範本樣式>:指定字元串做為查找文件內容的樣式。
-E或--extended-regexp :將樣式為延伸的正則表達式來使用。
-f<規則文件>或--file=<規則文件>:指定規則文件,其內容含有一個或多個規則樣式,讓grep查找符合規則條件的文件內容,格式為每行一個規則樣式。
-F或--fixed-regexp :將樣式視為固定字元串的列表。
-G或--basic-regexp :將樣式視為普通的表示法來使用。
-h或--no-filename :在顯示符合樣式的那一行之前,不標示該行所屬的文件名稱。
-H或--with-filename :在顯示符合樣式的那一行之前,表示該行所屬的文件名稱。
-i或--ignore-case :忽略字元大小寫的差別。
-l或--file-with-matches :列出文件內容符合指定的樣式的文件名稱。
-L或--files-without-match :列出文件內容不符合指定的樣式的文件名稱。
-n或--line-number :在顯示符合樣式的那一行之前,標示出該行的列數編號。
-o或--only-matching :只顯示匹配PATTERN部分。
-q或--quiet或--silent :不顯示任何信息。
-r或--recursive :此參數的效果和指定"-d recurse"參數相同。
-s或--no-messages :不顯示錯誤信息。
-v或--invert-match :顯示不包含匹配文本的所有行。
-V或--version :顯示版本信息。
-w或--word-regexp :只顯示全字元合的列。
-x --line-regexp :只顯示全列符合的列。
-y :此參數的效果和指定"-i"參數相同。
Ⅷ linux用grep在文件中查找字元串並顯示字元串在文件中的行號
如果你想在當前目錄下 查找"hello,world!"字元串,可以這樣:
grep -rn "hello,world!" ./
./ : 表示路徑為當前目錄.
-r 是遞歸查找
-n 是顯示行號