[英]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
開頭、任意次數t
和Node
(這可能不是您想要的)的任何字符串。 試試吧:
grep -rni "gst.*Node" ./
.
意味着“任何字符”,所以.*
真正意味着“任何長度的字符串”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.