【发布时间】:2021-01-28 20:34:01
【问题描述】:
我是使用正则表达式的新手,并且在理解如何从正则表达式中提取组时遇到了一些问题。我有一个文本文件(example.txt):
libstuff-example1 (>= 6.3.2),
libpackage-example2 (>= 5.2.1),
libtest-example3 (>= 5.2.1)
我试图仅从 libpackage 行中提取“5.2.1”并将其放入 bash 脚本的变量中。我试过做
cat example.txt | grep -oP "libpackage-[a-z- (>=]+(.*)[)],"
但它给了我整行而不是“5.2.1”部分。如何从该行中提取第一组,这样我只能得到“5.2.1”?
【问题讨论】:
-
grep无法访问组。-o打印整个匹配。