【发布时间】:2022-01-13 18:00:55
【问题描述】:
我正在尝试获取某个文件中列出的所有文件路径并将它们存储在一个数组中以供进一步使用
文件中的文件路径如下所示:
include /app/...;
或
#include /app/...; #comment
但该文件还有其他文件路径,所以我只想找到以 include 开头的路径。
我尝试了grep 'include /[^"]*' <fileToSearch>,但它丢失了一些文件并且没有捕获它们
我们将不胜感激。
【问题讨论】:
-
你能举例说明它丢失的文件吗?
include后面可能不止一个空格? -
注意,最后没有
$锚点,[^"]*是无效的。它将匹配行的部分直到第一个"字符。 -
你是对的,在单词 include 后面有不同数量的空格,这就是为什么有些被省略的原因。有没有办法忽略中间的空格数?因为它不同
-
使用匹配任意数量空格的正则表达式。你很清楚如何量化模式,因为你是在
[^"]之后做的。
标签: regex bash shell grep script