shell 如何将一行数据中,将含有指定字符串AAA的后面第X个字符提取出来?

请教一下, shell 如何将一行数据中,将含有指定字符串AAA的后面第X个字符提取出来?
比如原始数据是:
aa<name="level"/><value="a"/>sdwe<name="score"/><value="99"/>afdfdasd
aa<name="level"/><value="c"/>sdwe<name="score"/><value="40"/>afdfdasd
aa<name="level"/><value="s"/>sdwe<name="score"/><value="100"/>afdfdasd

提取score后面的值99,40,100这些,输出格式是:
score 99
score 40
score 100

请问该如何实现呢?
需要在linux里面用shell脚本实现~~~

B2="score "&LOOKUP(9^9,--LEFT(RIGHT(A2,LEN(A2)-MIN(IFERROR(FIND(ROW($1:$10)-1,A2),4^8))+1),ROW($1:$50)))

数组公式向下复制【数组公式,公式输完后,光标放在公式编辑栏同时按下CTRL+SHIFT+回车键,使数组公式生效】

这个公式仅对字符串中只有一组数字的特例起作用。

追问

需要在linux里面用shell脚本实现~~~怎么可以做到呢?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-03-17
假设你的数据在A列,且从A1开始
B1="score "&MID(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"""",""),"score/><value=","座"),"/>afdfdasd","宋"),FIND("座",SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"""",""),"score/><value=","座"),"/>afdfdasd","宋"))+1,FIND("宋",SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"""",""),"score/><value=","座"),"/>afdfdasd","宋"))-FIND("座",SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"""",""),"score/><value=","座"),"/>afdfdasd","宋"))-1)
有点长,经过2个替换关键字,然后查找2个关键字之间的位置就是 数据。追问

需要在linux里面用shell脚本实现~~~怎么可以做到呢?

本回答被网友采纳
相似回答