【发布时间】:2022-01-13 15:32:20
【问题描述】:
我正在尝试从函数参数中使用的各种脚本中提取所有参数。 我有用于查找参数的函数名称,我目前正在使用 awk 和 FS 将其破解以提取已知字段。但这还不够好。我有一些行,其中存在两个函数,检查每个函数的 OR 条件。 语法也因编码器而异:
- FUNCT('ARGUMENT')
- FUNCT("ARGUMENT")
- 函数(“参数”)
- FUNCT('参数') || FUNCT('ARGUMENT2')
- FUNCT('ARGUMENT') && FUNCT('ARGUMENT2')
我当前的脚本分割 FUNCT 调用周围的行,然后分割所有用“;”表示的结束 cmets然后从参数中删除所有字符。但是它无法处理最后一种情况,所以我必须创建一个单独的脚本。
awk 'NF>0 $1 ~ !/^*/ {SPLIT($0,a,"FUNCT");分裂(a[2],b,";"); if (length(b[1]>0){ print FILENAME","b[1] }}' * | sed 's/FUNCT//g' | sed 's/[()'''" ]// g'
我的最终目标是将这些参数列表提取到文件中,然后将它们与参数数据库进行匹配。另一种方法是遍历参数数据库并通过简单的 grep 检查找到它们所在的脚本,但数据库需要一系列格式才能将其转换为简单的文本列表以进行摄取。
【问题讨论】: