从源文件中提取字符串的最简单方法是什么



今天我被要求列出我们项目中的所有图像文件引用,以帮助删除/修复死引用。

源文件中的所有图像名称都括在简单引号或双引号('image.png'"image.png")中。

为了提取我想使用grepsed其他类似的工具,但如此公平,我未能想出有效的东西。

我目前可以通过 greping 图像文件扩展名(.png.gif 等)列出包含图像名称的所有行,但这也带来了与我的搜索完全无关的行。我对 sed 的尝试不起作用,以防每行有几个字符串。

我可能可以自己过滤掉列表,但是嘿:这是 linux !所以必须有一个工具来完成这项工作。

你会怎么做?

您应该能够使用如下所示的内容提取文件名:

grep -Eo "['"][^'"]*.(gif|png)['"]"

选项-o使grep仅列出匹配项而不是整行。使用 tr 删除引号:

grep -Eo "['"][^'"]*.(gif|png)['"]" | tr -d ""'"

最新更新