日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

[Linux]搜索文件是否包含指定内容并返回文件名

發布時間:2025/3/21 linux 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [Linux]搜索文件是否包含指定内容并返回文件名 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在Linux系統中,find和grep都是很強大的命令,可以做很多很多事情,今天剛好有人問“如何查找哪些文件包含了特定字符串,并顯示這些文件的名稱”。

第一種方法:使用grep,假設搜索所有的.cpp文件是否包含'open'字符串,如果包含了,則顯示該文件,命令如下:

grep -rl 'open' . --include=*.cpp

則執行結果如下:

./test/testall/file.cpp
./test/testall/shell_test.cpp
./test/daemontest/main.cpp

但是有時候只顯示文件名,也不知道出現的地方到底是什么樣子的,如果還有順帶查看一下那一行的內容,可以用如下命令:

grep -rn 'open' . --include=*.cpp

則,執行結果如下:

./test/testall/file.cpp:270:??? FILE *file = fopen(file_name.c_str(),"w");
./test/testall/file.cpp:273:??????????? printf("Can't open the file\n");
./test/testall/shell_test.cpp:29:?????? FILE *file = fopen(file_name, "r");
./test/daemontest/main.cpp:53:? openlog("daemontest",LOG_PID,LOG_USER);

顯示了文件名,行號以及該行內容。

第二種方法:使用find命令+grep

假設搜索所有的.cpp文件是否包含'open'字符串,如果包含了,則顯示該文件,命令如下:

find -name '*.cpp' -exec grep -l 'open' {} \;

則結果如下:

./test/testall/file.cpp
./test/testall/shell_test.cpp
./test/daemontest/main.cpp




總結

以上是生活随笔為你收集整理的[Linux]搜索文件是否包含指定内容并返回文件名的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。