我正在运行“William Shots”正则表达式示例中的 grep 命令。看来,插入符字符没有执行其应该执行的操作。我有四个测试文件,所有 bin 条目都是文本形式。我的目的是从我的 4 个文件中找到以“zip”开头的关键字(所有文件名以“dirlist”开头),所以运行如下命令:
grep '^zip' dirlist*.txt
它应该返回 zip、zipgrep 等关键字,但它根本不起作用。请帮忙!我做错了什么?
我正在运行“William Shots”正则表达式示例中的 grep 命令。看来,插入符字符没有执行其应该执行的操作。我有四个测试文件,所有 bin 条目都是文本形式。我的目的是从我的 4 个文件中找到以“zip”开头的关键字(所有文件名以“dirlist”开头),所以运行如下命令:
grep '^zip' dirlist*.txt
它应该返回 zip、zipgrep 等关键字,但它根本不起作用。请帮忙!我做错了什么?
插入
^
符号匹配行的开头而不是单词的开头...因此,仅当它位于行的开头时grep '^zip' dirlist*.txt
才会匹配。zip
要匹配以
zip
行中任意位置开头的整个单词,您可以使用-w
选项 ... fromman grep
:...并形成您的正则表达式,
zip
后跟零个或多个单词字符,\w*
如下所示:...或者,类似地,使用单词边界
\b
而不是-w
像这样:要仅返回正则表达式的匹配部分而不是包含匹配的整行,您可以使用
grep
's 选项-o
:...就像这样:
... 或者: