我想从这里提取已删除包的名称“cat /var/log/dpkg.log | grep 'remove'”
2013-09-09 15:57:34 remove activity-log-manager:i386 0.9.4-0ubuntu6.2 <none>
2013-09-09 15:57:35 remove activity-log-manager-control-center:i386 0.9.4-0ubuntu6.2 <none>
2013-09-09 15:57:38 remove alacarte:all 3.6.1-0ubuntu3 <none>
2013-09-09 15:57:41 remove deepin-software-center:all 2.1.2.1~precise~NoobsLab.com <none>
Run Code Online (Sandbox Code Playgroud)
我只想在包名称之后获取 remove 和冒号之间的包名称。我不是正则表达式专家,我做了一个正则表达式似乎可以完成这项工作,但是当我想用 grep 应用它时,什么也没有发生。这是正则表达式评估器中的工作正则表达式模式
(?<=remove)(.*?)(?=:)
Run Code Online (Sandbox Code Playgroud)
但这不起作用:
cat /var/log/dpkg.log | grep 'remove' | grep '(?<=remove)(.*?)(?=:)'
Run Code Online (Sandbox Code Playgroud)
我在这里缺少什么?
grep ×1