shell - 如何从特定路径中存在的makefile中搜索包含“PRODUCT_VARIANT_NAMES”的字符串并使用shell脚本存储在数组中
问题描述
我是 shell 脚本的新手或初学者。如何从特定路径中的 makefile > > 中搜索包含“PRODUCT_VARIANT_NAMES”的字符串,并将分配给它的所有值存储在数组中 [数组名称为 PRODUCT_VARIANT_ARRAY_LIST]。例如,假设 mmhp.mk 是某个路径 device\pro\mmh4p.mk 中存在的 make 文件,它的内容如下所示:
mmh4p.mk
1.flnslndddsa 2.fssd 3.dasdsa 4.dsadsa 5.PRODUCT_VARIANT_NAMES := 6.mmh4p_fgn.SKT_KR 7.mmh4p_fgn.KT_KR
8.mmh4p_fgn.OPEN_KR
9.mmh4p
-pr_fne.OPEN_EU_DS
10.mmh4p_fne.OPENdlakDS_EU; ns;lndnlsnkl 12.dsland;lsandd 13.dlamsdlmasd 14.ndlbadnsad 15. ;asmdsamd,
如何编写脚本以 grep 来自“PRODUCT_VARIANT_NAMES :=" 的所有值并将其存储在数组中 PRODUCT_VARIANT_ARRAY_LIST 应包含值
mmh4p_fgn.SKT_KR
,mmh4p_fgn.KT_KR
,mmh4p_fgn.OPEN_KR
,mmh4p-pr_fne.OPEN_EU_DS
,mmh4p_fne.OPEN_EU_DS
注意:字符串 "PRODUCT_VARIANT_NAMES :=" 可以在单行中定义如下
PRODUCT_VARIANT_NAMES := mmh4p_fgn.SKT_KR mmh4p_fgn.KT_KR mmh4p_fgn.OPEN_KR mmh4p-pr_fne.OPEN_EU_DS mmh4p_fne.OPEN_EU_DS
或者它可以是多行以反斜杠结尾,如上所示。
解决方案
推荐阅读
- node.js - 错误:接近堆限制的无效标记压缩分配失败 - JavaScript 堆内存不足
- java - 当与 java.util.Queue 一起使用时,Iterator.next() 方法在 for 语句中做什么?
- c - 删除特定元素链表
- bazel - 在我删除主目录中的 .cache 中的一些文件后,bazel 无法构建任何东西
- r - 将 Google Analytics 脚本添加到 R flexdashboard
- django - 如何在 Django 中更改 Summernote 的默认字体?
- function - 有没有办法在给定一些数据点的情况下估计函数的形状或曲率?
- oracle - ORA-06575: 包或函数 FUNC_GETCREATEDTIME 处于无效状态
- laravel - 在我的 Laravel 7 项目中,资产未加载、css、js 甚至图像未加载或链接
- php - 延长 Laravel Passport 中 oauth_access_token 的到期日期