簡體   English   中英

如何將 grep 與 globs 模式一起使用? (就像我們在 find 命令中使用它一樣)

[英]How to use the grep with globs patterns? (like we use it in find command)

讓我們看看我們是否要查找所有文件名如下格式

gstreamer_abc.c
gstreamer_xyz.c
gstreamer_abcxyz.c

然后我們可以使用 find 命令如下

find ./ -iname "gstreamer_*.c"

同樣,我需要在文件中 grep 一些 API,如下所示

gstABCNode()
gstAnythingCanBeHereNode()
gstXyzNode()

我正在嘗試一些東西

grep -rni "gst*Node"  ./
grep -rni "gst^\*Node" ./

但它沒有提供我在這里需要的東西。 首先是否可以像這樣使用 grep 進行搜索,或者如果可能的話,如何使用 grep 這樣的模式?

您只能grep這些文件:

grep --include "gstreamer_*.c" -rni "gst*Node"  ./

您的問題是find使用“globs”而grep使用正則表達式。 對於find*表示“任意長度的字符串”。 對於grep*表示“前面的元素(字符)的任意次數”。 這樣,您的命令:

grep -rni "gst*Node"  ./

搜索以gs開頭、任意次數tNode (這可能不是您想要的)的任何字符串。 試試吧:

grep -rni "gst.*Node"  ./

. 意味着“任何字符”,所以.*真正意味着“任何長度的字符串”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM