首页
/
每日頭條
/
圖文
/
linux利用grep查找内容并創建文件
linux利用grep查找内容并創建文件
更新时间:2025-09-15 00:22:14

man grep得到下列信息

  • 正常輸出: 輸出含有指定字符串的全部行。
  • -v, --invert-match: 反向操作,輸出不含有指定字符串的全部行。
  • -c, --count: 禁止正常輸出;輸出含有指定字符串的行有幾行。當與-v, --invert-match選項配合使用時,輸出不含指定字符串的行有幾行。
  • -o, --only-matching: 隻輸出全部的指定字符串,而不輸出含有指定字符串的全部行。
  • -l, --files-with-matches: 禁止正常輸出;輸出内容含指定字符串的全部文件的名稱。
  • -L, --files-without-match: 禁止正常輸出;輸出内容不含指定字符串的全部文件的名稱。-l與-L是相反的。
  • -Z: 一般結合-l選項使用。若grep -l不使用-Z,則輸出的多個文件名之間是以換行符分隔開;若grep -l使用-Z,則輸出的多個文件名之間是以null字符分隔隔。
  • -n, --line-number: 顯示行号。
  • -i, --ignore-case: 模式(pattern)和标準輸出(stdout)裡不區分字母大小寫。

grep命令的語法:

  • 當grep的命令參數為文件時: grep [選項1] [選項2] [選項n] [一個待找的字符串] [參數1(文件1)] [參數2(文件2)] [參數n(文件n)]。如果把grep理解為find,那就是: find a string inside a file or more files.
  • 當grep的命令參數為目錄時: grep -r或-R [選項1] [選項2] [選項n] [一個待找的字符串] [參數1(目錄1)] [參數2(目錄2)] [參數n(目錄n)]。
find命令和grep命令的區别

find命令是在文件名稱或目錄名稱裡找指定的字符串。一般,find命令的輸出結果是找到的文件名或目錄名。

grep命令是在文件内容或stdin裡找指定的字符串。然而,grep的輸出結果卻不一定是找到的字符串,而是根據不同的命令選項有不同的輸出,例如,正常輸出模式時會輸出含指定字符串的全部行,加了-l命令選項會輸出含指定字符串的全部文件,等等。

正常輸出模式: 輸出含指定字符串的全部行

root@hgdm:~/examples# cat grep_data.txt 孤舟蓑笠翁,獨釣寒江雪。 花間一壺酒,獨酌無相親。 細草微風岸,危樯獨夜舟。 落葉他鄉樹,寒燈獨夜人。 海内存知己,天涯若比鄰。 烽火連三月,家書抵萬金。 紅豆生南國,春來發幾枝。 # 輸出含獨字的全部行 root@hgdm:~/examples# grep '獨' grep_data.txt 孤舟蓑笠翁,獨釣寒江雪。 花間一壺酒,獨酌無相親。 細草微風岸,危樯獨夜舟。 落葉他鄉樹,寒燈獨夜人。

linux利用grep查找内容并創建文件(grep命令的使用場景)1

grep常規輸出模式

選項-v: 輸出不含指定字符串的全部行

root@hgdm:~/examples# cat grep_data.txt 孤舟蓑笠翁,獨釣寒江雪。 花間一壺酒,獨酌無相親。 細草微風岸,危樯獨夜舟。 落葉他鄉樹,寒燈獨夜人。 海内存知己,天涯若比鄰。 烽火連三月,家書抵萬金。 紅豆生南國,春來發幾枝。 # 反向操作,輸出不含獨字的全部行 root@hgdm:~/examples# grep -v '獨' grep_data.txt 海内存知己,天涯若比鄰。 烽火連三月,家書抵萬金。 紅豆生南國,春來發幾枝。

linux利用grep查找内容并創建文件(grep命令的使用場景)2

grep -v反選操作

選項-c: 輸出有幾行

root@hgdm:~/examples# cat grep_data.txt 孤舟蓑笠翁,獨釣寒江雪。 花間一壺酒,獨酌無相親。 細草微風岸,危樯獨夜舟。 落葉他鄉樹,寒燈獨夜人。 海内存知己,天涯若比鄰。 烽火連三月,家書抵萬金。 紅豆生南國,春來發幾枝。 # 含獨字的行總共有4行,所以輸出4 root@hgdm:~/examples# grep -c '獨' -n grep_data.txt 4

linux利用grep查找内容并創建文件(grep命令的使用場景)3

grep -c 輸出行數

選項-l: 輸出内容含指定字符串的全部文件

root@hgdm:~/examples/temp# cat data1.txt 孤舟蓑笠翁,獨釣寒江雪。 花間一壺酒,獨酌無相親。 root@hgdm:~/examples/temp# cat data2.txt 細草微風岸,危樯獨夜舟。 落葉他鄉樹,寒燈獨夜人。 # 找到當前目錄下含獨字的全部文件的名稱 root@hgdm:~/examples/temp# grep -lR '獨' ./ ./data1.txt ./data2.txt root@hgdm:~/examples/temp# grep -lR -Z '獨' ./ | xargs -0 cat 孤舟蓑笠翁,獨釣寒江雪。 花間一壺酒,獨酌無相親。 細草微風岸,危樯獨夜舟。 落葉他鄉樹,寒燈獨夜人。

linux利用grep查找内容并創建文件(grep命令的使用場景)4

grep -lR -Z

選項-o: 僅僅輸出指定的字符串

root@hgdm:~/examples# cat grep_data.txt 孤舟蓑笠翁,獨釣寒江雪。 花間一壺酒,獨酌無相親。 細草微風岸,危樯獨夜舟。 落葉他鄉樹,寒燈獨夜人。 海内存知己,天涯若比鄰。 烽火連三月,家書抵萬金。 紅豆生南國,春來發幾枝。 # 隻輸出文件中的全部獨字,而不輸出包含獨字的行 root@hgdm:~/examples# grep -o '獨' grep_data.txt 獨 獨 獨 獨

linux利用grep查找内容并創建文件(grep命令的使用場景)5

grep -o

當grep的參數是文件和stdin組合時

root@hgdm:~/examples# echo -e '獨在異鄉為異客\n獨善其身' 獨在異鄉為異客 獨善其身 root@hgdm:~/examples# cat grep_data.txt 孤舟蓑笠翁,獨釣寒江雪。 花間一壺酒,獨酌無相親。 細草微風岸,危樯獨夜舟。 落葉他鄉樹,寒燈獨夜人。 海内存知己,天涯若比鄰。 烽火連三月,家書抵萬金。 紅豆生南國,春來發幾枝。 root@hgdm:~/examples# echo -e '獨在異鄉為異客\n獨善其身' | grep '獨' - grep_data.txt (standard input):獨在異鄉為異客 (standard input):獨善其身 grep_data.txt:孤舟蓑笠翁,獨釣寒江雪。 grep_data.txt:花間一壺酒,獨酌無相親。 grep_data.txt:細草微風岸,危樯獨夜舟。 grep_data.txt:落葉他鄉樹,寒燈獨夜人。

linux利用grep查找内容并創建文件(grep命令的使用場景)6

當grep的參數是文件和stdin組合時

當需找兩個或兩個以上的指定字符串時

上面的例子,都是在文件或stdin裡查找一個指定字符串,有時候,需要在文件或stdin裡查找兩個或兩個以上指定字符串。

語法為: grep -e "待找字符串1" -e "待找字符串2" -e "待找字符串3"

root@hgdm:~/ls_data# cat file1.txt 孤舟蓑笠翁,獨釣寒江雪。 海内存知己,天涯若比鄰。 root@hgdm:~/ls_data# cat file2.txt 花間一壺酒,獨酌無相親。 烽火連三月,家書抵萬金。 root@hgdm:~/ls_data# cat file3.txt 細草微風岸,危樯獨夜舟。 野曠天低樹,江清月近人。 root@hgdm:~/ls_data# grep -e '孤舟' -e '一壺酒' -e '野曠' -e '天涯' file1.txt file2.txt file3.txt file1.txt:孤舟蓑笠翁,獨釣寒江雪。 file1.txt:海内存知己,天涯若比鄰。 file2.txt:花間一壺酒,獨酌無相親。 file3.txt:野曠天低樹,江清月近人。

linux利用grep查找内容并創建文件(grep命令的使用場景)7

grep -e指定多個待找字符串

當待找的指定字符串是一個正則表達式時

當需要完全使用正則表達式時,使用grep -E或egrep命令。

root@hgdm:~/ls_data# echo -e "孤舟蓑笠翁\n獨釣寒江雪\n2022 The best" 孤舟蓑笠翁 獨釣寒江雪 2022 The best root@hgdm:~/ls_data# echo -e "孤舟蓑笠翁\n獨釣寒江雪\n2022 The best" | grep -E '[0-9] ' 2022 The best root@hgdm:~/ls_data# echo -e "孤舟蓑笠翁\n獨釣寒江雪\n2022 The best" | egrep '[0-9] ' 2022 The best

linux利用grep查找内容并創建文件(grep命令的使用場景)8

grep -E和egrep

當grep的參數是含有通配符*的文件名時

root@hgdm:~/ls_data# ls dir1 dir2 dir3 file1.txt file2.txt file3.txt root@hgdm:~/ls_data# cat file* 孤舟蓑笠翁,獨釣寒江雪。 海内存知己,天涯若比鄰。 花間一壺酒,獨酌無相親。 烽火連三月,家書抵萬金。 細草微風岸,危樯獨夜舟。 野曠天低樹,江清月近人。 # *file*匹配到file1.txt file2.txt file3.txt root@hgdm:~/ls_data# grep '獨' *file* file1.txt:孤舟蓑笠翁,獨釣寒江雪。 file2.txt:花間一壺酒,獨酌無相親。 file3.txt:細草微風岸,危樯獨夜舟。

linux利用grep查找内容并創建文件(grep命令的使用場景)9

*file*匹配到file1.txt file2.txt file3.txt

如何讓ls命令隻列出目錄或文件

# 隻列出目錄 ls -l | grep '^d' # 隻列出文件 ls -l | grep '^-'

上述命令的執行結果如下

root@hgdm:~/ls_data# ls -l total 12 drwxr-xr-x 2 root root 4096 Apr 4 14:10 dir1 drwxr-xr-x 2 root root 4096 Apr 4 14:10 dir2 drwxr-xr-x 2 root root 4096 Apr 4 14:10 dir3 -rw-r--r-- 1 root root 0 Apr 4 14:09 file1.txt -rw-r--r-- 1 root root 0 Apr 4 14:09 file2.txt -rw-r--r-- 1 root root 0 Apr 4 14:09 file3.txt root@hgdm:~/ls_data# ls -l | grep '^d' drwxr-xr-x 2 root root 4096 Apr 4 14:10 dir1 drwxr-xr-x 2 root root 4096 Apr 4 14:10 dir2 drwxr-xr-x 2 root root 4096 Apr 4 14:10 dir3 root@hgdm:~/ls_data# ls -l | grep '^-' -rw-r--r-- 1 root root 0 Apr 4 14:09 file1.txt -rw-r--r-- 1 root root 0 Apr 4 14:09 file2.txt -rw-r--r-- 1 root root 0 Apr 4 14:09 file3.txt

linux利用grep查找内容并創建文件(grep命令的使用場景)10

ls和grep組合隻列出目錄或文件

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
十二星座心裡的秘密白羊座
十二星座心裡的秘密白羊座
白羊座的性格白羊座的人令人覺得他開朗而熱情。即使他内心是有那麼點害羞,表面上仍可以很自在、大方。當一頭白羊愁眉苦臉時,隻會出現在他家裡鏡子中。他再傷心,就是不會在别人面前擺出苦臉。好強?可以這麼說。誰不好強呢?其實白羊座的人仍會向朋友吐苦水...
2025-09-15
驚豔世界的十位世紀美人
驚豔世界的十位世紀美人
驚豔世界的十位世紀美人?在影視行業的發展曆史中,總有一些演員的身影能深深地烙印在觀衆們的心中那麼在這個影視曆史發展的洪流中,有哪些女星的身影真的是驚豔了時光呢?今天小編就帶大家去盤點一下,接下來我們就來聊聊關于驚豔世界的十位世紀美人?以下内...
2025-09-15
董潔為顯高真不怕穿胖了
董潔為顯高真不怕穿胖了
戳右邊關注我們,每天都有最新娛樂八卦等你批閱!12月28日,有網友偶遇到董潔現身某酒店并拍下了一組合照,許久未露面的董潔身材和狀态引起了大家的關注,她将頭發向後紮起,露出光潔發亮的額頭,發際線似乎上移了不少。除此之外,董潔看向鏡頭時的眼神盡...
2025-09-15
飛輪海複出
飛輪海複出
文✎七爺編輯✎七街酒舍說到國内如今最火的偶像團體,肯定就要提到養成系的TFBOYS組合,他們在偶像團體中的地位可以說是從未被超越。但要說到偶像團體的“鼻祖”,還是要數台灣的小虎隊,當年他們的火熱程度可不輸當今任何一個團體。也是有了小虎隊組合...
2025-09-15
推薦5000左右潛水表
推薦5000左右潛水表
如果預算一萬多,想買隻結實耐操的潛水表,應該從哪方面考慮?選品牌?選設計?選機芯?看着都有道理,但能不能全部“一網打盡”?難度确實有點大。不妨先讓我們看看浪琴康卡斯潛水系列。新款康卡斯潛水系列在表圈等處進行了升級先說品牌。浪琴并不算高端品牌...
2025-09-15
Copyright 2023-2025 - www.tftnews.com All Rights Reserved