为什么使用如下sed命令提取不到指定内容?我想提取所有_v或者_f结尾的变量名,具体情况如下所示:文本内容如下:EventID_v = enterprise_v .."|" ..generic_trap_v .."|" ..specific_trap_vif (EventId_v == "dummy case
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/22 09:23:36
![为什么使用如下sed命令提取不到指定内容?我想提取所有_v或者_f结尾的变量名,具体情况如下所示:文本内容如下:EventID_v = enterprise_v ..](/uploads/image/z/14550851-11-1.jpg?t=%E4%B8%BA%E4%BB%80%E4%B9%88%E4%BD%BF%E7%94%A8%E5%A6%82%E4%B8%8Bsed%E5%91%BD%E4%BB%A4%E6%8F%90%E5%8F%96%E4%B8%8D%E5%88%B0%E6%8C%87%E5%AE%9A%E5%86%85%E5%AE%B9%3F%E6%88%91%E6%83%B3%E6%8F%90%E5%8F%96%E6%89%80%E6%9C%89_v%E6%88%96%E8%80%85_f%E7%BB%93%E5%B0%BE%E7%9A%84%E5%8F%98%E9%87%8F%E5%90%8D%2C%E5%85%B7%E4%BD%93%E6%83%85%E5%86%B5%E5%A6%82%E4%B8%8B%E6%89%80%E7%A4%BA%EF%BC%9A%E6%96%87%E6%9C%AC%E5%86%85%E5%AE%B9%E5%A6%82%E4%B8%8B%EF%BC%9AEventID_v+%3D+enterprise_v+..%22%7C%22+..generic_trap_v+..%22%7C%22+..specific_trap_vif+%28EventId_v+%3D%3D+%22dummy+case)
为什么使用如下sed命令提取不到指定内容?我想提取所有_v或者_f结尾的变量名,具体情况如下所示:文本内容如下:EventID_v = enterprise_v .."|" ..generic_trap_v .."|" ..specific_trap_vif (EventId_v == "dummy case
为什么使用如下sed命令提取不到指定内容?
我想提取所有_v或者_f结尾的变量名,具体情况如下所示:
文本内容如下:
EventID_v = enterprise_v .."|" ..generic_trap_v .."|" ..specific_trap_v
if (EventId_v == "dummy case statement") then -- This will prevent syntax errors in case no includes are added below.
命令如下:
sed -n 's/.*[^a-zA-Z0-9_]\([a-zA-Z0-9_]*_[fv]\).*/\1/p' TEXT
得出如下结果:
specific_trap_v
EventId_v
为什么少了一个EventID_v,一直找不到原因.
为什么使用如下sed命令提取不到指定内容?我想提取所有_v或者_f结尾的变量名,具体情况如下所示:文本内容如下:EventID_v = enterprise_v .."|" ..generic_trap_v .."|" ..specific_trap_vif (EventId_v == "dummy case
sed支持的正则表达式是贪婪模式的,它总是与最长的可能长度匹配,而且越是排在前面的通配符优先级越高.就比如:有字符串:uid=100(guest) gid=100(others)
如果用sed 's/.*(\(.*\)).*/\1/' 去匹配就只能得到others.
这个和你第一行只得到specific_trap_v的原因, 你的.*[^a-zA-Z0-9_]是匹配到specific_trap_v之前的空格的.