假设我有一堆URL,每个URL都包含一个唯一的标识符。它看起来像'abc1000002'。它具有相同的前导字符串'abc',只有数字不同。
标识符出现在URL中的各个位置
http://www.examle.com?abc1000002 http://www.example.com?abc1000002=blahblah#3fdslfkj
我可以写一个正则表达式,如'abc [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] .. [0-9] ,但是如何编写sed命令以仅提取与正则表达式匹配的块?
答案 0 :(得分:0)
grep
是这项工作的更好工具:
s='http://www.example.com/?abc1000002=blahblah#3fdslfkj'
grep -Eo 'abc[0-9]+' <<< "$s"
abc1000002